struts出现org.apache.struts.action.MESSAGE异常的解决
关键字: struts, bean:write使用struts的tag 的时候,当对象的属性值为long的时候,会报出如下的错误:
- org.apache.jasper.JasperException: Cannot find message resources under key org.apache.struts.action.MESSAGE
- org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:510)
查找了很多资料,解决的方法非常有意思,在struts-config.xml中添加如下的配置:
- <message-resources parameter="ApplicationResources"/>
Struts时遇到的问题:
运行程序出现Cannot find message resources under key org.apache.struts.action.MESSAGE错误,是说明找不到ApplicationResources.properties,要注意以下四方面。
第一:在web.xml文件<web-app> <servlet>"把下面的内容放在这里"</servlet></web-app>中加入
<init-param>
<param-name>application</param-name>
<param-value>ApplicationResources</param-value>
</init-param>
第二:在struts-config.xml中加入如下设置:
<message-resources parameter="ApplicationResources"/>
该设置最好放在:</action-mappings>"放到这里"</struts-config>
第三:确保ApplicationResources.properties文件在你建立的WEB-INF/classes文件夹中。
可以把applicationResources.properties放到classes文件夹下其它目录,例如:
把ApplicationResources.properties放入WEB-INF/classes/mydir文件夹下。struts-config.xml中的设置必须改
<message-resources parameter="mydir/ApplicationResources"/>
第四:就可能是键值的问题,struts的资源文件也是可以分多资源文件配置的,比如配备是这样的
<message-resources parameter="ApplicationResources" key="myAppRes"/>
如果只有一个带key的资源文件,那就会抛出 org.apache.struts.action.MESSAGE错误了,删除key即可。