【问题标题】:Struts 1: where to place properties file for message-resourcesStruts 1:在哪里放置消息资源的属性文件
【发布时间】:2011-03-11 16:06:15
【问题描述】:

我从struts得到一个NullPointerError,对应的堆栈跟踪如下:

PropertyMessa W org.apache.struts.util.PropertyMessageResources loadLocale   Resource org/apache/struts/action/ActionResources_en_US.properties Not Found.
PropertyMessa W org.apache.struts.util.PropertyMessageResources loadLocale   Resource org/apache/struts/action/ActionResources_en.properties Not Found.
RequestUtils  E org.apache.struts.util.RequestUtils createActionForm Error creating form bean of class com.teig.territorymaint.web.TerritoryForm
at org.apache.struts.config.FormBeanConfig.createActionForm(FormBeanConfig.java:289)
at org.apache.struts.util.RequestUtils.createActionForm(RequestUtils.java:254)
at org.apache.struts.util.RequestUtils.createActionForm(RequestUtils.java:208)
at org.apache.struts.action.RequestProcessor.processActionForm(RequestProcessor.java:319)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:192)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:462)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)

我不明白为什么Struts 试图从apache struts 包路径中获取属性文件,我怀疑我的struts 配置错误:

<message-resources parameter="ApplicationResources" null="false" />

然后,我修改了消息资源标签,我得到了同样的错误:

<message-resources parameter="myPackagePath.ApplicationResources" null="false" />

我做错了什么?提前致谢。

【问题讨论】:

  • 你能包含完整的堆栈跟踪吗?该错误不一定是由于缺少资源引起的,似乎struts无法创建表单类的实例。
  • 你必须使用 Struts 吗?你能换成不是 10 年前在飞机上被黑掉的东西吗?

标签: java struts


【解决方案1】:

约恩是正确的;问题不是缺少资源文件引起的,而是我在struts配置文件中的form-b​​ean类型属性不正确

  <form-bean name="territoryAddForm"
         type="com.teig.territorymaint.web.forms.TerritoryForm">
         <!-- package path was incorrect -->
</form-bean>

【讨论】:

    最近更新 更多