struts2 常用标签总结

简介: 最近在用 Struts2 框架做项目,所以收集了一些 Struts2 的常用标签。

1. 使用Struts2的常用逻辑标签

1.1 property标签

  1. 功能说明

获取对象的属性值,目标对象默认位于ValueStack栈顶

  1. 标签属性
名称 必选 类型 说明
value no Object 对象的属性名称,
默认直接输出 ValueStack 栈顶对象
default no String 默认值,如果 value 为 null 则输出此值
escape no Boolean 是否进行html 转义,默认为 true
escapeJavaScript no Boolean 是否进行JavaScript 转义,默认为 false

eg: <s:property value="user.userName"/>

1.2 if-elseif-else标签

功能说明:

替代Java语法中的if/else

标签属性:

名称 必选 类型 说明
test yes Boolean 表达式,决定是否显示if/else if 标签体的内容

eg:

欢迎${user.name} ,
<s:if test="user.role == 'admin'">系统管理员</s:if>
<s:elseif test="user.role == 'member'">会员</s:elseif>
<s:else>游客</s:else>

1.3 iterator标签

功能说明:

替代Java语言中foreach的功能

标签属性:

名称 必选 类型 类型 说明
value true Object 被迭代的对象
status no String 迭代状态,IteratorStatus对象

PS:不需要写 status 的就会自动迭代,比如customers 这个集合,迭代的时候,直接写value =name 就是 customer 的name了

eg:

<s:iterator value="products">
<s:property value="name"/>,<s:property value="price"/>
<br />
</s:iterator>

2. 使用Struts2的常用UI标签

2.1 简单表单标签

Struts2 Form UI Tag html tag 说明
textfield input type="text" 文本输入框
password input type="password" 密码输入框
textarea textarea 多行文本输入框
hidden input type="hidden" 隐藏域
file input type = "file" 文件输入框
submit input type="submit" 提交按钮
reset input type ="reset" 重置按钮
checkbox input type="checkbox" 复选框

2.2 select标签

功能说明:自带回显功能

生成select标签(含option)

标签属性:

名称 类型 说明
list 集合 指定option列表项
listKey String 如果list元素是复合对象,指定 option value 对象属性
listValue String 如果list 元素是复合对象,指定option text 对应属性
emptyOption Boolean 是否添加空option
multiple Boolean 是否允许多选
headerKey String 设置第一选项对应的 option value 对象属性
headerValue String 设置第一选项对应的 option text 对象属性

PS:复合对象的意思是如果是集合会自动迭代。

eg : 集合 List<custoemr> customers 的下拉列表标签的使用

<s:select list="customers" name="customer.custId"
    listKey="custId" listValue="custName"
    headerKey="" headerValue="===请选择==="
    style="WIDTH: 180px">
</s:select>

2.3 checkboxlist标签

功能说明: 自带回显功能

生成一组checkbox

标签属性:

名称 类型 说明
list 集合 指定option列表项
listKey String 如果list 元素是复合对象,指定option value 对应属性
listValue String 如果list 元素是复合对象,指定option text 对应属性

PS:复合对象的意思是如果是集合会自动迭代

eg:

<s:checkboxlist name="favors" list="products" listKey="id" listValue="name"/>        

2.3.1 checkboxlist 和 checkbox 的区别

  • checkbox 和 checkboxlist的用法首先需要搞清楚;

checkbox 适用的场景,例如是、否;有、无;符合、不符合;男、女等这样的语境;

checkboxlist 适用于多个,例如兴趣爱好:篮球、足球、乒乓球、玩游戏、听音乐等等;

2.4 radio 标签

功能说明: 自带回显功能的,需要给 name 属性是必须的

生成一组radio

标签属性:

名称 类型 说明
list 集合 指定option列表项
listKey String 如果list 元素是复合对象,指定option value 对应属性
listValue String 如果list 元素是复合对象,指定option text 对应属性
name String name 属性是必须的,自带回显,还可以提交选中的值

eg:

<s:radio name="favorite" list="products" listKey="id" listValue="name"/>

3. 总结

使用struts2 标签的优缺点:

  • 优点

    • 自带回显功能,提升开发效率
    • 简化代码
  • 缺点

    • 只能用于使用了 struts2 框架的代码,复用率不高
相关文章
|
XML SQL Java
JavaWeb--EL表达式&JSTL 标签库
JavaWeb--EL表达式&JSTL 标签库
71 0
QGS
|
存储 SQL XML
浅谈EL表达式和JSTL常用标签
EL表达式,全称是Expression Language。意为表达式语言。它是Servlet规范中的一部分,是JSP2.0规范加入的内容。其作用是用于在JSP页面中获取数据,从而让我们的JSP脱离java代码块和JSP表达式。
QGS
96 0
|
Java API 数据格式
JavaWeb--EL表达式&JSTL 标签库(三)
JavaWeb--EL表达式&JSTL 标签库(三)
150 0
JavaWeb--EL表达式&JSTL 标签库(三)
|
Java
JavaWeb--EL表达式&JSTL 标签库(一)
JavaWeb--EL表达式&JSTL 标签库(一)
94 0
JavaWeb--EL表达式&JSTL 标签库(一)
|
Java
JavaWeb--EL表达式&JSTL 标签库(二)
JavaWeb--EL表达式&JSTL 标签库(二)
101 0
JavaWeb--EL表达式&JSTL 标签库(二)
|
JavaScript Java
JSTL常用标签
JSTL常用标签
158 0
JSTL常用标签
|
JavaScript 数据库