1

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

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

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

谢谢

4

1 回答 1

3

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

更新

这是一个非常有趣的问题。我从Freedy 的帖子中找到了解决方案,然后就可以了

你需要配置你的 web.xml 来告诉 stripe 从哪里寻找资源

<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>
于 2011-03-08T05:56:52.917 回答