struts2常用标签使用说明

在struts2中,用的是s标记,先在jsp文件中引入标记:
<%@ taglib prefix="s" uri="/struts-tags"%>


 <s:a href=""></s:a>-----超链接,类似于html里的<a></a>

 <s:if test=""></s:if>
 <s:elseif test=""></s:elseif>
 <s:else></s:else>-----这3个标签一起使用,表示条件判断

 <s:checkbox></s:checkbox>-----复选框
<s:checkboxlist list="#{1:'游戏',2:'打飞机',3:'看电影',4:'LOL'}" name="hobby" value="{4,3}"></s:checkboxlist>--复选框集合

<s:radio list="dogs" listKey="id" listValue="name" name="rdogid"></s:radio>-----单选按钮

<s:select list="dogs" listKey="id" listValue="name" name="dogid"></s:select><br> --下拉列表

<s:select list="#{1:'长沙',2:'湘潭',3:'邵阳'}" name="area" value="2"></s:select>

<s:iterator value="" var="">-----用于遍历集合 

<s:iterator value="dogs" var="d" status="sta">
<s:property value="#d.name"/>--
<s:property value="#sta.index"/>--<!-- 索引 -->
<s:property value="#sta.count"/>--<!-- 个数 -->
<s:property value="#sta.even"/>--<!-- 是否是偶数行 -->
<s:property value="#sta.odd"/>--<!-- 是否是奇数行 -->
<s:property value="#sta.first"/>--<!-- 是否是第一行 -->
<s:property value="#sta.last"/><!-- 是否是最后一行 -->
<s:if test="#sta.even">偶数行</s:if><--常在隔行换色用到-->
<s:elseif test="#sta.odd">奇数行</s:elseif>
<br>
</s:iterator>

</s:iterator>

  <s:set name="sex" value="'男'" ></s:set>-- 没有指定范围,放到ActionContext

<s:date name="receiveTime" format="yyyy-MM-dd HH:MM" />-----显示日期格式

<s:submit></s:submit>-----提交按钮 
 <s:reset></s:reset>-----重置按钮

 <s:password></s:password>-----密码输入框

 <s:table></s:table>-----表格 

<s:token></s:token>-----拦截器
<s:tree></s:tree>-----树

 <s:updownselect list=""></s:updownselect>-----多选择框 

 <s:treenode label=""></s:treenode>-----树的结构 

<s:debug></s:debug>-----显示值栈里信息
 <s:div></s:div>-----表示一个块,类似于html的<div></div>

 <s:include value=""></s:include>-----包含一个输出,servlet或jsp页面 

<s:bean name="com.accp.entity.Dog" var="dd"> 在页面创建一个实体类
<s:param name="id" value="200"></s:param>
<s:param name="name" value="'旺财'"></s:param>
</s:bean>

<s:property/>-----得到'value'的属性

 

标签不同情况下取值说明

取action中的普通属性:<s:property value="sex"/>
取action中的对象:<s:property value="user"/>
取action中的对象的属性:<s:property value="user.name"/>
调用action中对象的普通方法:<s:property value="user.sum(10,20)"/>
调用action中对象里面对象的属性:<s:property value="user.dog.name"/>
<hr/>
取action中静态的属性:<s:property value="@com.accp.action.OgnlAction@COUNTRY"/>
取user中的静态属性:<s:property value="@com.accp.entity.User@PI"/>
调用action中的静态方法:<s:property value="@com.accp.action.OgnlAction@hello()"/>
调用user中的静态方法:<s:property value="@com.accp.entity.User@sum('hello',' ff')"/>
调用java api中静态方法:<s:property value="@java.lang.Math@max(1,2)"/>
调用sysout打印方法:<s:property value="@java.lang.System@out.println('hello oyf')"/>
<hr>
取出list集合中的一个元素:<s:property value="list[1].name"/>
取出list集合中一个user对象的狗的名字:<s:property value="list[1].dog.name"/>
取出list集合中所有user的name:<s:property value="list.{name}"/>
取出list集合所有user的dog:<s:property value="list.{dog}"/>
取出list集合所有user的dog的名字:<s:property value="list.{dog.name}"/>
调用list集合中user的方法<s:property value="list[1].sum(1,2)"/>
调用list的方法:<s:property value="list.add(new com.accp.entity.User())"/>
调用list的方法:<s:property value="list.size()"/>
<hr/>
取出set集合中的一个元素:<s:property value="set.iterator().next().name"/>
取出set集合中某个user的dog的名字:<s:property value="set.iterator().next().dog.name"/>
取出set集合中所有user的name:<s:property value="set.{name}"/>
取出set集合中所有user的dog的name:<s:property value="set.{dog.name}"/>
调用set集合中user的方法:<s:property value="set.iterator().next().sum(10,20)"/>
调用set的方法:<s:property value="set.clear()"/>
调用set的方法:<s:property value="set.size()"/>
<hr>
取出map集合中的一个元素:<s:property value="map['u1'].name"/>
取出map集合中的一个元素:<s:property value="map.u1.name"/>
取出map集合所有的key:<s:property value="map.keys"/>
取出map集合所有的value:<s:property value="map.values"/>
<hr>
筛选集合中的数据(?:可以返回多个值):<s:property value="list.{?#this.id>1}.{id}"/>
筛选集合中的数据(^:返回一个值):<s:property value="list.{^#this.id>1}.{id}"/>
筛选集合中的数据($:可以返回多个值):<s:property value="list.{$#this.id>1}.{id}"/>
筛选集合中的数据(?:可以返回多个值):<s:property value="list.{?#this.id>1 and #this.name=='屌丝1'}.{id}"/>
筛选集合中的数据(?:可以返回多个值):<s:property value="list.{?#this.id>0 or #this.name=='屌丝2'}.{id}"/>

 

 

转载于:https://www.cnblogs.com/laotan/p/3634902.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值