我正在使用Stripes在Tomcat服务器上创建一个Web应用程序。
应用程序有多个模块,每个模块都通过自己的StripesResources.properties
文件进行本地化。每个模块都打包在WEB-INF/lib
下的JAR文件中。
WEB-INF/lib
|- moduleA.jar
| |- com.some.package
| | |- ModuleA.class
| |- StripesResources.properties
|- moduleB.jar
| |- com.some.package
| | |- ModuleB.class
| |- StripesResources.properties
问题是只加载了StripesResources文件。我发现资源是由系统ClassLoader加载的,它似乎用它找到的那个名称加载第一个文件。
使用多种资源的最佳做法是什么?
感谢。
答案 0 :(得分:1)
正如我所知,Stripes不支持多个资源包(尽管它允许使用单独的文件来显示错误消息和表单标签)。因此,我决定实施自己的LocalizationBundleFactory
,使用ClassLoader.getResources(String)
加载具有给定名称的所有*.properties
个文件。
该解决方案的源代码草图将很快发布。