A:<s:if>判断字符串的问题:
1、判断单个字符:<s:if test="#session.user.username=='c'">
这样是从session中取出username的值,并且判断其是否为c,但是这样判断是不正确的,这样判断的话,根本判断不出来,要改成下面这样:
<s:if test="#session.user.username=='c'.toString()">
这样判断才能正确判断,至于原因我也不知道,在网上看到struts2中可能它判断的是char类型。
2、判断字符串:<s:if test="#session.user.username=='milo'">
这样写的就是判断username是不是milo,是String的判断,这个是不用加toString()的。
3、判断数值:<s:if test="#session.user.username==0">
这样写的就是判断username是不是0,是int的判断。
B:判断为空的问题:
<s:if test="#session.user.username==null">
struts2中的判空似乎只能这么写
判断非空可以这样写:
<s:if test="#session.user.username!=null" >
举例:
<s:set name="name" value="model.userId" />
<s:if test="#name == 'luozhh'">
Luozhh's file here
</s:if>
<s:elseif test="#name == 'Scott'">
Scott's file here
</s:elseif>
<s:else>
Other's file here
</s:else>
C、直接写表达式
<s:set name="china" value="china">
<s:if test="${china=='china'}">show</s:if>
result:show
</s:set>
D1直接读对象
<s:if test="request.price==null || request.price>=0"></s:if>
D2直接读对象的另一种写法
<s:if test="%{设置到action中的值!=null}"></s:if>
E:判断多个条件
<s:if test='%{isShowAll=="Y" || isShowAll==null || isShowAll==""}'>
<li class="selected"></li>
</s:if>
<s:else>
<li>else</li>
</s:else>