不会健身的程序员
不是好作家

struts1使用标签抛错

今天在项目中使用struts的<bean:write>标签输出属性的时候抛出Cannot find message resources under key org.apache.struts.action.MESSAG错误,主要是取消了国际化的支持,删掉了资源文件,于是,原本一些页面访问的时候就出现了这个错误,经过对代码重重筛选以及测试,最后查看struts1发现症状及解决办法如下。

错误重现的方法有以下2个要点:

  1. 取消struts国际化资源文件配置(struts-config.xml中无<message-resources />标签配置)
  2. bean:write标签中property是(int,long,double,date)就会出错,其他没测试过。。

解决办法如下:

方法一:修改web.xml

在web.xml中加上application的值

 <servlet>
    <servlet-name>action</servlet-name>
    <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
    <init-param>
      <param-name>config</param-name>
      <param-value>/WEB-INF/struts-config.xml</param-value>
    </init-param>
    <init-param>
      <param-name>debug</param-name>
      <param-value>2</param-value>
    </init-param>
    <init-param>
      <param-name>application</param-name>
      <param-value>ApplicationResources</param-value>
    </init-param>
    <load-on-startup>2</load-on-startup>
</servlet>

方法二:修改struts-config.xml

在struts的配置文件中添加上message-resources

<struts-config>
    <form-beans>
    </form-beans>
    <action-mappings>
    </action-mappings>
    <message-resources parameter="ApplicationResources"/>
</struts-config>

方法三:修改bean的写法

利用<bean:write>的format属性,加上一个format="#" 属性

<bean:write name="date" property="time" format="#">

赞(0)
转载请注明出处:林俊龙博客 » struts1使用标签抛错

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

年年岁岁花相识,岁岁年年人不同

给我留言网站地图

谢主隆恩

支付宝扫一扫打赏

微信扫一扫打赏