struts2 标签

<s:set name="age" value="'29'"></s:set>

<s:property value="age"/>

 

当value是常量的时候请注意用 ‘’ 号;

 

 


在用struts2做项目中总要遇到关于其标签的问题,我总也用不好struts2的标签。
今天把前几天在项目中用到的<s:if><s:set>标签跟大家分享一下。
先给大家贴代码出来,在后面在具体介绍。
<s:set name="status" value="modStatus"/>
     <s:if test="#status == 0 ">
          <s:text name="mod.control.start"/>
    </s:if>
    <s:elseif test="#status == 1 ">
<s:text name="mod.control.stop"/>
   </s:elseif>
   <s:else>
<s:text name="mod.control.uncertain"/>
  </s:else>
向上面这段代码,我在用的时候也,消耗的很长时间,才把它做对。"modStatus"是一个链表中对象的属性,比如<s:iterator value="ModList" status="rowstatus">,中ModList是一个存放对象(ModManaget)的list,那么“modStatus”是“ModManaget”的属性,我们在用的时候不能够通过struts2的<s:property value="modStatus">标签来得到modStatus的值,比如向这样<s:set name="status" value="<s:property value="modStatus"/>"/>是错误的,因为struts2中不允许在struts2的标签中再用struts2的标签。你可以在html的标签中用struts2的标签,比如:<input type="text" name="id" value="<s:property value="modStatus"/>"/>就可以得到正确的值。
      关于上面的代码还有一点需要说明的,就是“modStatus”是从数据库中查出来的String类型,但我们在比较时,我们不能够像这样写 <s:if test="#status == ‘0’ ">或 <s:if test="#status == “0” ">像这样写会出现错误的逻辑。还要注意的就是<s:if test="#status == 0 ">中“status”前只能够加"#"不能够加“%“等其它符号。
     希望对大家有所帮助。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值