Struts2 标签库 控制标签的使用 if append generator iterator merage sort subset

Struts2控制标签一共有9个。

1. if

2. else if 和 else

3. append

4. generator

5. iterator

6. merage

7. sort

8. subset

看一下代码就容易理解了:

  1 <%@ page language="java" import="java.util.*" pageEncoding="utf-8" isELIgnored="true"%>
2 <%@ taglib prefix="s" uri="/struts-tags"%>
3
4 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
5 <html>
6 <head>
7 <title>struts2标签</title>
8 </head>
9
10 <body>
11 <b>if 标签</b>
12 <br/>
13 <s:set name="score" value="80"></s:set>
14 <s:if test="${score > 60}">
15 你的成绩及格了
16 </s:if>
17 <s:else>
18 你的成绩不及格
19 </s:else>
20 <br/><br/>
21
22 <b>iterator 标签</b>
23 <table border="1" width="200">
24 <s:iterator value="{'管理员','注册用户','游客'}" id="role" status="st">
25 <tr <s:if test="#st.odd">style="background-color:#bbbbff"</s:if>>
26 <td><s:property value="#st.count"/><s:property value="role"/></td>
27 </tr>
28 </s:iterator>
29 </table>
30 <br/>
31
32 <b>map的迭代</b>
33 <table border="1" width="200">
34 <tr>
35 <th>用户</th>
36 <th>名字</th>
37 </tr>
38 <s:iterator value="#{'管理员':'admin','注册用户':'lihui','游客':'guest'}" id="roleb" status="stb">
39 <tr <s:if test="#stb.odd">style="background-color:#ffbbbb"</s:if>>
40 <td><s:property value="key"/></td>
41 <td><s:property value="value"/></td>
42 </tr>
43 </s:iterator>
44 </table>
45 <br/>
46
47 <b>append 标签,拼接两个集合</b>
48 <s:append id="newList"> <!-- id是拼接之后的新集合的名字 -->
49 <s:param value="{'衣带渐宽终不悔','为伊消得人憔悴'}"/> <!-- param标签给出要拼接的参数 -->
50 <s:param value="{'心有灵犀一点通'}"></s:param>
51 </s:append>
52 <table border="1" width="200">
53 <s:iterator value="#newList" status="st">
54 <tr <s:if test="#st.odd">style="background-color:#bbffbb"</s:if>>
55 <td><s:property/></td>
56 </tr>
57 </s:iterator>
58 </table>
59 <br/>
60
61 <b>generator 标签(1),将指定字符串分隔成多个字符串</b>
62 <table border="1" width="200">
63 <!-- 注意下面双引号里面的串儿还包括两个单引号 -->
64 <s:generator separator="," val="'草莓,菠萝,橙子,西瓜'">
65 <s:iterator status="st">
66 <tr <s:if test="#st.odd">style="background-color:#bbffbb"</s:if>>
67 <td><s:property/></td>
68 </tr>
69 </s:iterator>
70 </s:generator>
71 </table>
72 <br/>
73
74 <b>generator 标签(2),将指定字符串分隔成多个字符串 。本例添加了count属性</b>
75 <s:generator separator="," val="'草莓,菠萝,橙子,西瓜'" count="2" id="fruit">
76 <table border="1" width="200">
77 <%
78 Iterator iterator = (Iterator)pageContext.getAttribute("fruit");
79 while(iterator.hasNext()){
80 String s = (String)iterator.next();%>
81 <tr>
82 <td><%=s %></td>
83 </tr>
84 <%
85 }
86 %>
87 </table>
88 </s:generator>
89 <br/>
90
91 <b>merge 标签,合并多个集合,与 append 有区别</b>
92 <s:merge id="newList">
93 <s:param value="{'苹果','西瓜','梨','草莓'}"></s:param>
94 <s:param value="{'西红柿','萝卜'}"></s:param>
95 </s:merge>
96 <table border="1" width="200">
97 <s:iterator status="st" value="#newList">
98 <tr <s:if test="#st.odd">style="background-color:#bbffbb"</s:if>>
99 <td><s:property/></td>
100 </tr>
101 </s:iterator>
102 </table>
103 <br/>
104
105 <b>subset 标签,用于取得一个集合的子集</b>
106 <table border="1" width="200">
107 <s:subset source="{'0','1','2','3','4'}" start="1" count="3">
108 <s:iterator status="st">
109 <tr <s:if test="#st.odd">style="background-color:#bbffbb"</s:if>>
110 <td><s:property/></td>
111 </tr>
112 </s:iterator>
113 </s:subset>
114 </table>
115 </body>
116 </html>

运行效果如下:

原文地址:https://www.cnblogs.com/lihuiyy/p/2433269.html