====================正确的用法======开始===============================
<s:if
<s:if
<s:if
<s:if
==================正确的用法======结束================================
<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
如果数据库中的数据是字符串,aa、bb、cc等等
那么就要使用 <s:if
如果数据库中既有数字字符串也普通的字符串,那么 <s:if
经过详细的测试,我确认这是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类型,那么直接比较就可以了
-
<s:if test="sex==1">男</s:if> -
<s:else>女</s:else>