jsp BigDicimal 小数保留 , 开发环境没问题,但是线上环境就报错了
jetty: 开发环境
${priceRMB.setScale(1,'HALF_UP')} 正常
${priceRMB.setScale(1,HALF_UP)} 异常 空指针(roundingMode) 第二个参数el没有解析成功
tomcat: 线上环境
${priceRMB.setScale(1,'HALF_UP')} 异常 javax.el.ELException: Cannot convert HALF_UP of type class java.lang.String to int
${priceRMB.setScale(1,HALF_UP)} 正常
最后确定是web容器的问题,导致EL解析不统一
最后修改成使用struts2标签 <s:number name="priceRMB" roundingMode="HALF_UP" maximumFractionDigits="1"/>
本文探讨了在不同Web容器(Jetty与Tomcat)中使用EL表达式进行小数保留设置时遇到的问题及解决方案。在Jetty环境下,使用特定语法时出现空指针异常;而在Tomcat环境中,则因类型转换错误引发EL异常。最终通过采用Struts2标签解决了跨容器的兼容性难题。
3056

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



