JavaWeb框架_Struts2_(五)----->Struts2的标签库

1. Struts2的标签库

  • 标签库概述
  • 数据标签
  • 流程控制标签
  • 表单标签
  • 非表单标签

2. 具体内容

2.1 Struts2标签库概述

Struts2的标签库可以分为以下3类:用户界面标签、非用户界面标签、AJAX标签;

JavaWeb框架_Struts2_(五)----->Struts2的标签库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有如下非表单标签:

  1. actionerror:如果Action实例的getActionErrors()方法返回不为null,则该标签负责输出该方法返回的系列错误;
  2. actionmessage:如果Action实例的getActionMessage()方法返回不为null,则该标签负责输出该方法返回的系列消息;
  3. fielderror:如果Action实例存在表单域的类型转换错误、校验错误、则该标签负责输出这些错误提示。

我觉得Struts2标签库,这一板块没必要深究,认真看了看,更多的是记忆的东西,用的多了就记住了。所以,项目中遇到忘记了的标签,直接查一下就好了,这样效果也比较好。

相关推荐