天天看点

struts2 常用标签总结1. 使用Struts2的常用逻辑标签2. 使用Struts2的常用UI标签3. 总结

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

1.1 property标签

  1. 功能说明

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

  1. 标签属性
名称 必选 类型 说明
value no Object

对象的属性名称,

默认直接输出 ValueStack 栈顶对象

default String 默认值,如果 value 为 null 则输出此值
escape Boolean 是否进行html 转义,默认为 true
escapeJavaScript 是否进行JavaScript 转义,默认为 false

eg:

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

1.2 if-elseif-else标签

功能说明:

替代Java语法中的if/else

标签属性:

test yes 表达式,决定是否显示if/else if 标签体的内容
欢迎${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的功能

类型 类型
true 被迭代的对象
status 迭代状态,IteratorStatus对象

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

<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 多行文本输入框
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 如果list元素是复合对象,指定 option value 对象属性
listValue 如果list 元素是复合对象,指定option text 对应属性
emptyOption 是否添加空option
multiple 是否允许多选
headerKey 设置第一选项对应的 option value 对象属性
headerValue 设置第一选项对应的 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 value 对应属性
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

标签属性:

name name 属性是必须的,自带回显,还可以提交选中的值
<s:radio name="favorite" list="products" listKey="id" listValue="name"/>           

3. 总结

使用struts2 标签的优缺点:

  • 优点
    • 自带回显功能,提升开发效率
    • 简化代码
  • 缺点
    • 只能用于使用了 struts2 框架的代码,复用率不高