struts2 使用总结
1、遍历基础类型的数组或集合:
?
<s:iterator value="#valList" var="sj" status="st2" ><td align="right"> ${valList[st2.index] } </td></s:iterator>
? ? ?此处也可写成
?
<s:iterator value="#valList" var="sj" status="st2" ><td align="right"> ${sj } </td></s:iterator>
? ? ?但是这种写法当双重遍历的时候,也就是<s:iterator/>嵌<s:iterator/>的时候,sj的值不会自动重新初始化,导致下一次外部循环的时候sj的值还是上一次最后一次遍历时的值。
?
?
2、判断集合是否为空
?
<s:if test="domain.list == null || domain.list.isEmpty()">....</s:if>
?
3、s:if 标签的test遇到的问题
???? 在用s:if 的test做字符串等于判断时遇到了判断不准确的问题,判断结果全为false,原写法如下:
????
<s:if test="#entity.lx == '1'">基础类型</s:if><s:elseif test="#entity.lx == '0'">特殊类型</s:elseif>
?? 后尝试着把比对的字符串用双引号引起来之后就正确了,代码如下:
??
<s:if test='#entity.lx == "1"'>基础类型</s:if><s:elseif test='#entity.lx == "0"'>特殊类型</s:elseif>
??? 这个问题不知道是struts2就这样规定的,还是算是一个bug,反正用起来感觉不太方便。
?