这是一份关于struts2标签库的文档。 <%@ taglib prefix="s" uri="/struts-tags"%> struts2的标签共分为五大类: 一、逻辑控制标签 用于进行逻辑控制输出。主要分以下几类: 1)条件标签:用于执行基本的条件流转 <s:if>:拥有一个test属性,其表达式的值用来决定标签里内容是否显示。<s:if test="#request.username=='hzd'">欢迎hzd</s:if> <s:elseif>:同上。 <s:else> …… …… 很实用的,就是简洁明了 ### Struts2 标签库详解 #### 一、逻辑控制标签 逻辑控制标签主要用于页面上的逻辑处理,比如条件判断、循环等操作。Struts2提供了丰富的逻辑控制标签,极大地简化了开发工作。 ##### 1)条件标签 条件标签主要用于执行基本的条件流转。 - **`<s:if>`**:此标签拥有一个`test`属性,通过表达式的值来决定标签里的内容是否显示。例如: ```jsp <s:if test="#request.username=='hzd'">欢迎hzd</s:if> ``` 在这个例子中,如果`#request.username`的值等于`hzd`,则会显示“欢迎hzd”。这种条件标签非常适合用来控制某些部分的显示与否。 - **`<s:elseif>`**:与`<s:if>`类似,但通常与`<s:if>`一起使用,提供更多的条件分支。 - **`<s:else>`**:当所有`<s:if>`和`<s:elseif>`条件都不满足时显示的内容。 这些条件标签可以灵活地组合使用,实现复杂的条件逻辑。 ##### 2)迭代标签 迭代标签主要用于遍历集合或枚举类型的对象。 - **`<s:iterator>`**:此标签的`value`属性表示要遍历的集合或枚举对象,而`status`属性表示当前循环的信息。例如: ```jsp <s:iterator value="userList" status="user"> 姓名:<s:property value="user.userName"/> 年龄:<s:property value="user.age"/> </s:iterator> ``` 上面的例子会遍历`userList`集合,并输出每个用户的姓名和年龄。 ##### 3)组合标签 组合标签用于将多个枚举值对象进行叠加,形成一个新的枚举值列表。 - **`<s:append>`**:可以将多个列表对象进行组合。例如: ```jsp <s:append var="newIteratorList"> <s:param value="%{myList1}"/> <s:param value="%{myList2}"/> <s:param value="%{myList3}"/> </s:append> ``` 上述代码将`myList1`、`myList2`和`myList3`三个列表对象进行组合,形成新的列表对象`newIteratorList`。 ##### 4)分割标签 分割标签用于将一个字符串进行分隔,产生一个枚举值列表。 - **`<s:generator>`**:可以将一个字符串分割成多个字符串,然后通过`<s:iterator>`循环输出。例如: ```jsp <s:generator value="%{'aaa,bbb,ccc'}"> <s:iterator> <s:property/> </s:iterator> </s:generator> ``` 上面的代码会将字符串`'aaa,bbb,ccc'`分割成三个字符串,并依次输出。 ##### 5)合并标签 合并标签用于将多个枚举值按照数组的索引位置进行合并。 - **`<s:merge>`**:可以将多个列表对象按顺序合并。例如: ```jsp <s:merge var="newMergeList"> <s:param value="%{mylist1}"/> <s:param value="%{mylist2}"/> </s:merge> ``` 如果`mylist1`包含`a,b,c`,`mylist2`包含`1,2,3`,则合并后的列表`newMergeList`将按顺序包含`a,1,b,2,c,3`。 ##### 6)排序标签 排序标签用于对一组枚举值进行排序。 - **`<s:sort>`**:可以指定一个比较器来对列表进行排序。例如: ```jsp <s:sort comparator="myComparator" source="myList"> <s:iterator> <s:property value=""/> </s:iterator> </s:sort> ``` 在这个例子中,`myComparator`是一个实现了`java.util.Comparator`接口的对象,用于对`myList`进行排序。 ##### 7)子集标签 子集标签用于取得一个枚举列表的子集。 - **`<s:subset>`**:可以指定源列表、起始位置、计数以及一个决策器(`Decider`对象)。例如: ```jsp <s:subset source="myList" count="13" start="3"> </s:subset> ``` 这段代码会从`myList`中取出第3个元素开始的前13个元素作为子集。 #### 二、数据输出标签 数据输出标签用于输出页面中的元素、属性、隐含变量等。 ##### 1)链接标签 链接标签用于创建一个`<a>`标签。 - **`<s:a>`**:此标签可以创建带有错误提示的链接。例如: ```jsp <s:a href="example.action" errorText="链接无效" priInvokeJS="alert('即将跳转');"> 点击这里 </s:a> ``` 在这个例子中,如果链接无效,则会显示“链接无效”的提示;`priInvokeJS`属性用于指定点击链接时执行的JavaScript代码。 通过以上介绍可以看出,Struts2标签库非常强大,它不仅支持各种逻辑控制,还能够方便地输出数据,大大提高了Web应用的开发效率。开发者可以根据具体需求选择合适的标签,从而实现更为复杂的功能。
剩余8页未读,继续阅读
- 粉丝: 1
- 资源: 6
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助