在类路径中找到StripesResources.properties的问题

时间:2011-03-08 05:54:09

标签: java jsp tomcat stripes

我正在尝试使用条带中的消息,这是StripesReesources.properties文件中的一个功能,根据大多数教程和我的书,它应该放在src文件夹下,因此在主类路径中。 另外,由于它不起作用,我也将它放在文件夹调用者“res”中,作为WEB-INF的子文件夹,没有,Tomcat抛出JasperException:

  

无法找到Stripes所需的错误消息资源包。这几乎可以肯定意味着在类路径中找不到名为“StripesResources.properties”的属性文件

我使用Tomcat 6JDK 6,一个好的IDE,我不认为是Ides问题,因为它也不会在另一个ide上工作。 在某处我读过“但我不能再找到这个网页了”,这个功能也需要在web.xml中明确声明,但即使在官方的StripesFramework网站上我也看不到任何关于它的内容,所以不应该有任何配置在StripesResurces.properties的web.xml中 有什么建议吗?

谢谢

1 个答案:

答案 0 :(得分:3)

它应该在src的直接默认包中。在构建时,它应该直接转到WEB-INF/classes类路径下。

Update

这是非常有趣的问题。我找到了Freedy's post的解决方案,然后你去了

您需要配置web.xml以告知条纹从何处查找资源

<filter>
  <filter-name>StripesFilter</filter-name>
  <filter-class>
    net.sourceforge.stripes.controller.StripesFilter
  </filter-class>
  <!-- other init params...-->
  <init-param>
    <param-name>
      LocalizationBundleFactory.FieldNameBundle
    </param-name>
    <param-value>com/stripesTest/properties/StripesResources</param-value>
  </init-param>
  <init-param>
    <param-name>
      LocalizationBundleFactory.ErrorMessageBundle
    </param-name>
    <param-value>com/stripesTest/properties/StripesResources</param-value>
  </init-param>
</filter>

如果您还想将此资源包用于JSTL标记,那么您 还需要在WEB-INF / web.xml文件的顶部添加它:

<context-param>
  <param-name>
    javax.servlet.jsp.jstl.fmt.localizationContext
  </param-name>
  <param-value>com/stripesTest/properties/StripesResources</param-value>
</context-param>