*
升级到struts2.3.20后,有些set的集合突然不能用了,可能是原来书写没有规范好,经过测试,有如下规则:
1,赋值常量字符串
<s:set value="'aaa'" var="aa"/>
或者
<s:set value="'aaa'" name="aa"/>
2,赋值常量数字
<s:set value="123" var="aa"/>
3,变量是字符串,里面还要有字符串(只能是name)
<s:set name="benefitAccTrim" value='benefit_acc.replace(".","")'/>
name不能是var,里面有字符串的,value外面要是单引号,不能是双引号
4,变量是字符串,里面没有字符串
<s:set name="benefitAcc5" value="#benefitAccTrim.substring(0,5)"/>
value里面单双引号都可以,name和var都可以
<s:set var="benefitAccTrimww" value="benefit_acc"/>
单双引号,var和name都可以
true/false
<s:set var="disabled" value='custype_code=="O"' />正确,var和name都可以
<s:set var="disabled" value="custype_code=='O'" />错误
<s:set var="yes" value="Y"/>
<s:set var="no" value="N"/>
<s:set name="No" value="N"/>
<s:set name="Yes" value="Y"/>
5,变量是数字
<s:set value="benefit_acc.length()" var="bbsSize"/>
或
<s:set value="benefit_acc.length()" name="bbsSize"/>
<s:property value="#bbsSize"/>
*