文章转载至:http://blog.csdn.net/chen_zw/article/details/8161230
头声明:<%@ taglib uri =”/struts-tags” prefix =”s” %>
Struts2标签库可以分为5类:
一. 逻辑控制标签
1.条件标签:
<s:if test="#request.username=='admin'">
您是admin!
</s:if>
<s:elseif test="#request.username=='manager'">
您是manager!
</s:elseif>
<s:else>
您没有身份!
</s:else>
test:条件判定语句,值为boolean类型。
- 迭代标签:;用于遍历集合(java.util.Collection)或者枚举值(java.util.Iterator)类型的对象。
遍历普通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>
遍历对象List、数组
<s:iterator value="users" id="us">
<!--可以这样: <s:property value="#us.name"/> -->
<s:property value="name"/>
<s:property value="email"/><br/>
</s:iterator>
status属性的应用
<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>
id:指定集合中元素在值栈中的名称。
value:指定迭代的迭代体。
var:指向值栈中的值。
status:该属性在迭代时会产生一个IteratorStatus对象,该对象可以判断当前元素的位置。
二、数据输出标签
(1)action标签
标签用于在jsp页面中直接调用Action
<s:action name="loginAction" namespace="/user" ignoreContextParam="false" executeResult="true" >
<s:param name="userName" value="'张三'"></s:param>
</s:action>
name:struts.xml中指定Action的名称
executeResult:指定是否将Action的处理结果包含到本页面中.默认值为false(即不包含)
ignoreContextParam:指定该页面的请求参数是否需要传入调用的Action中,默认值是false(即传入参数)
注意:是以request方式的值的,而不是以参数传值,所以request.getParameter(“”)会获取不到值,通过request.getAttribute(“”)方式可以获取到。
(2)date标签
标签用以格式化日期并显示
<s:date name="user.birth" format="yyyy-MM-dd HH:ss:mm"nice="false"/>
name:表示要输出的日期对象。
format:输出的日期格式。
nice:指定是否输出指定日期与当前时刻之间的时差。若nice=”true”,则format属性失效,只输出当前时刻与指定日期间的间隔;若nice=“false”,则是输出指定日期。