在用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"