Struts 1.2.9 - 关于自定义国际化的问题

时间:2015-10-18 16:12:06

标签: java internationalization customization struts-1

我们有一个使用Struts 1.2.9的遗留应用程序。该应用程序目前已通过标准方式国际化 - 所有UI标签,错误,消息等的.properties文件; <message-resouces>中每个.properties文件的struts-config.xml定义,使用默认Factory&amp; MessageResources定义;所有JSP中的<bean:message>用法。到目前为止,这已经发挥了很大的作用,但事实上,应用程序本身是一个内部使用了几百个(是的100个!)其他应用程序的服务框架。

我们需要扩展i18n功能,如下所示:

  1. .properties文件定义自定义目录 - 因此这将超出类路径的范围;基本上不在.war包内。我们的想法是只支持消息字符串更改,而不必重新部署整个应用程序。
  2. 此自定义目录还将包含每个受支持的应用程序消息 - 这可能只是现有应用程序消息的一部分,或者是专门为该应用程序定制的整套资源。
  3. 支持每个请求的自定义方式Locale设置 - 禁止所有其他注意事项(默认堆栈,类路径/包查找等),这类似于I18nInterceptor在Struts2中使用{的方式{ {1}}属性设置为requestOnlyParameterName
  4. 是的,我确实理解同时加载的100个捆绑包会占用大量内存,但在我们的情况下这是可以接受的。

    感谢任何帮助 - 无论是方向,示例代码等。

    注意:我完全同意迁移到更新的UI平台可能是最好的解决方案。但我们不能。

    TIA。

1 个答案:

答案 0 :(得分:0)

我在spring项目中有类似的要求,不仅对于i18n,还有Web服务端点和其他类型的属性。

我们通过将我们将属性文件放在其中的目录添加到服务器启动配置文件的类路径中来实现该要求。

在weblogic 11g(预生产和制作)和tomcat服务器(开发环境)中测试和工作。

希望帮助