在Tomcat5.0.x中:
当某字符串的值为null或""使。在EL中都会返回0
在Tomcat6.0.x中:
只有当字符串值为null时才返回0
这就导致了表达式 ${someValue + 5} 在someValue的值为""时在两个服务器上的表现不一样
在Tomcat6.0中会报错,而在Tomcat5.0.x中则不会。
本人猜测应该是实行的规范不一样导致的。在Tomcat5.0.x中实行的是Java EE1.4的规范,Tomcat6.0.x中则是Java EE1.5
所以在使用 "+" 运算符时必先清楚运算符两边的值
当某字符串的值为null或""使。在EL中都会返回0
在Tomcat6.0.x中:
只有当字符串值为null时才返回0
这就导致了表达式 ${someValue + 5} 在someValue的值为""时在两个服务器上的表现不一样
在Tomcat6.0中会报错,而在Tomcat5.0.x中则不会。
本人猜测应该是实行的规范不一样导致的。在Tomcat5.0.x中实行的是Java EE1.4的规范,Tomcat6.0.x中则是Java EE1.5
所以在使用 "+" 运算符时必先清楚运算符两边的值
本文探讨了Tomcat5.0.x与Tomcat6.0.x中EL表达式的处理差异,尤其是在字符串为空或null时的行为变化,以及这背后的JavaEE规范升级的影响。
470

被折叠的 条评论
为什么被折叠?



