在用struts标签 bean:write name=".." property=".."/ 显示Integer ,BigDecimal类型的属性时,会报
javax.servlet.jsp.JspException: Cannot find message resources under key org.apache.struts.action.MESSAGE
at org.apache.struts.taglib.TagUtils.retrieveMessageResources(TagUtils.java:1252)
at org.apache.struts.taglib.TagUtils.message(TagUtils.java:1101)
at org.apache.struts.taglib.TagUtils.message(TagUtils.java:1076)
at org.apache.struts.taglib.bean.WriteTag.retrieveFormatString(WriteTag.java:254)
at org.apache.struts.taglib.bean.WriteTag.formatValue(WriteTag.java:317)
at org.apache.struts.taglib.bean.WriteTag.doStartTag(WriteTag.java:232)
at org.apache.jsp.client$jsp._jspService(client$jsp.java:379)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:107)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(JspServlet.java:201)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:381)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:473)
这样的错误
解决的办法就是利用 bean:write 的format属性,加上一个format="#" 属性
bean:write name="testForm" property="testBig" format="#" /BigDecimal型数据处理
bean:write name="testForm" property="testInt" format="#" /Intger型数据处理
关于 format还有不少很好的妙用
比如你要显示的日期格式为 年-月-日 时:分:秒,则可以定义为 format="yyyy-MM-dd HH:mm:ss"
比如你要定义显示到小数点后几位,则可以定义为 format="000.00"