JavaWeb框架_Struts2_(五)----->Struts2的标签库
1. Struts2的标签库
- 标签库概述
- 数据标签
- 流程控制标签
- 表单标签
- 非表单标签
2. 具体内容
2.1 Struts2标签库概述
Struts2的标签库可以分为以下3类:用户界面标签、非用户界面标签、AJAX标签;
2.1.1 Struts2标签库的分类和使用1. 从上图中可以看出,标签的分类如下:
(1) 用户界面标签(UI标签)
UI标签主要用来生成HTML元素的标签,又分为表单标签和非表单标签。表单标签主要用于生成HTML页面的form元素,以及普通表单元素的标签。非表单元素标签主要用于在页面生成一些非表单的可视化元素。
(2) 非用户界面标签(非UI标签)
非UI标签主要用于数据访问以及逻辑控制,包括数据访问标签和逻辑控制标签。数据访问标签,主要用于输出值栈(ValueStack)中的值、完成国际化等功能的标签。流程控制标签,主要用于实现分支、循环等流程控制标签。
(3) AJAX标签
AJAX标签用于支持Ajax效果。
2. Struts2标签的使用要在JSP页面代码的顶部,添加以下代码:
<%@taglib prefix = "S" uri = "/struts-tags" %>
2.2 Struts2的数据标签
Struts2主要的数据标签如下表格所示:
标签名 | 描述 |
action | 用于JSP页面直接调用Action,当需要调用Action时,可以指定Action的namespace,若指定了executeResult参数的值为true,该标签还会将Action的处理结果(视图页面) |
bean | 用于创建一个JavaBean实例。如果指定了id属性,则可以将创建的JavaBean实例放入Stack Context中 |
date | 用于创建一个JavaBean实例。如果指定id属性 |
debug | 用于在页面上生成一个调试链接,当单击该链接时,可以看到ValueStack和StackContext中的内容 |
il8n | 用于指定国际化资源文件的baseName |
include | 用于在JSP页面中包含其他的JSP或Servlet资源 |
param | 用于设置一个参数,通常是用作为bean标签、url标签的子标签 |
push | 用于将某个值放入ValueStack的栈顶 |
set | 用于设置一个新变量,并且可以将新变量放入指定的范围内 |
text | 用于输出国际化消息 |
url | 用于生成一个URL地址 |
property | 用于生成输出某个值,包括输出ValueStack、Stack Context和Action Context中的值 |
2.3 Struts2的流程控制标签
Struts2主要的流程控制标签如下表格所示:
标签名 | 描 述 |
if/elseif/else | 用于控制选择输出的标签 |
append | 用于将多个集合拼接成为一个新的集合 |
gennerator | 用于将一个字符串解析成一个集合 |
iterator | 用于将集合迭代输出 |
merge | 用于将多个集合拼接成一个新的集合,但与append拼接方式不同 |
sort | 用于对集合进行排序 |
subset | 用于截取集合的部分元素,形成一个新的集合 |
2.4 Struts2的表单标签
Struts2的表单标签是用户最常用的标签,这些表单标签都包含了非常多的属性,但有很多属性是完全相通的。大部分表单标签和HTML标签一一对应。这里不再介绍。
2.5 Struts2的非表单标签
Struts2有如下非表单标签:
- actionerror:如果Action实例的getActionErrors()方法返回不为null,则该标签负责输出该方法返回的系列错误;
- actionmessage:如果Action实例的getActionMessage()方法返回不为null,则该标签负责输出该方法返回的系列消息;
- fielderror:如果Action实例存在表单域的类型转换错误、校验错误、则该标签负责输出这些错误提示。
我觉得Struts2标签库,这一板块没必要深究,认真看了看,更多的是记忆的东西,用的多了就记住了。所以,项目中遇到忘记了的标签,直接查一下就好了,这样效果也比较好。