转自:https://blog.csdn.net/chen_zw/article/details/8161230
Struts2标签库提供了主题、模板支持,极大地简化了视图页面的编写,而且,struts2的主题、模板都提供了很好的扩展性。实现了更好的代码复用。Struts2允许在页面中使用自定义组件,这完全能满足项目中页面显示复杂,多变的需求。
头声明:<%@ taglib uri ="/struts-tags" prefix ="s" %>
struts2的标签可以分为五大类:
一、逻辑控制标签
(1)条件标签
条件标签主要有<s:if><s:elseif><s:esle>3个子标签,用于执行基本的条件流转
- <s:if test="#request.username=='admin'">
- 您是admin!
- </s:if>
- <s:elseif test="#request.username=='manager'">
- 您是manager!
- </s:elseif>
- <s:else>
- 您没有身份!
- </s:else>
test:条件判定语句,值为boolean类型。
(2)迭代标签
<s:iterator>标签用于遍历集合(java.util.Collection)或者枚举值(java.util.Iterator)类型的对象。
1、遍历普通List、数组
- //后台存放数据到list中
- List<String > list = newArrayList<String>();
- list.add("aaa");list.add("bbb"); list.add("ccc");
- <!-- 用iterator标签遍历list -- >
- <s:iterator value="list"var="v">
- <s:property value="v"/><br>
- </s:iterator>
- 或者:
- <s:iteratorvalue="list">
- <s:property/><br>
- </s:iterator>
- <s:iterator value="users" id="us">
- <!--可以这样: <s:property value="#us.name"/> -->
- <s:property value="name"/>
- <s:property value="email"/><br/>
- </s:iterator>
- <s:iterator value="users" id="us" status="u">
- 序列号: <s:property value="#u.index"/>
- 姓名: <s:property value="name"/>
- 邮件: <s:property value="email"/>
- 是否第一条: <s:property value="#u.first"/>
- 是否最后一条:<s:property value="#u.last"/>
- 是否偶数行: <s:property value="#u.even"/>
- 是否奇数行: <s:property value="#u.odd"/>
- 当前行数: <s:property value="#u.count"/>
- </s:iterator>
value:指定迭代的迭代体。
var:指向值栈中的值。
status:该属性在迭代时会产生一个IteratorStatus对象,该对象可以判断当前元素的位置。