struts 2 s:if标签的使用

12 篇文章 0 订阅

====================正确的用法======开始===============================

<s:if test="deptType==1" >下属 </s:if>如果你的数据库对应的字段类型为整形,可以这样使用;

<s:if test="deptType=='1'" >下属 </s:if>如果你的数据库对应的字段类型为char,可以这样使用;

<s:if test="deptType=='aa'" >下属 </s:if>如果你的数据库对应的字段类型为varchar,并且数据库中的字符串都是多余一个字符的字符串,可以这样使用;

<s:if test="deptType==\"1\"" >下属 </s:if> <s:else>直属 </s:else>(测试通过,这样用是最正确的)

==================正确的用法======结束================================ 

 

<s:if test="deptType==\"1\"" >下属</s:if><s:else>直属</s:else>(测试通过,最正确的)

<s:if test="{#deptType == '1'}" >下属</s:if><s:else>直属</s:else>(匹配的类型是char型)

 

前提:数据库中的类型是varchar,pojo中对应的字段的类型也是string。

如果数据库中的数据是整数字符串,例如1、2、3等,那么使用==

<s:if test="deptType==1" >下属 </s:if> <s:else>直属 </s:else>

如果数据库中的数据是字符串,aa、bb、cc等等

那么就要使用 <s:if test="deptType=='aa'>下属aa </s:if> <s:else>直属 </s:else>   

如果数据库中既有数字字符串也普通的字符串,那么 <s:if test="deptType=='aa'  ? ? deptType=='1'" >下属aa </s:if> <s:else>直属 </s:else> 无法正常的解析,

经过详细的测试,我确认这是struts2的一个bug

 

<s:if test="%{deptType}==1" >下属机构</s:if><s:else>直属机构</s:else>失败!

<s:if test="%{deptType}=='1'" >下属机构</s:if><s:else>直属机构</s:else>失败!

<s:if test="deptType=='1'" >下属机构</s:if><s:else>直属机构</s:else>失败!

<s:if test="%{deptType=='1'}" >下属机构</s:if><s:else>直属机构</s:else>失败!

<s:if test="%{#deptType=='1'}" >下属机构</s:if><s:else>直属机构</s:else>失败!

<s:if test="deptType==1" >下属机构</s:if><s:else>直属机构</s:else>(终于成功了)

<s:if test="deptType.equals('1')" >下属机构</s:if><s:else>直属机构</s:else>(错误)

<s:if test="deptType=='1'" >下属</s:if><s:else>直属</s:else>  (不出错但是结果不对)

 

如果sex是int类型,那么直接比较就可以了

  1.             <s:if test="sex==1">男</s:if>   
  2.             <s:else>女</s:else>  
copy非原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值