更改jstl fmt中的翻译而无需重新编译

时间:2011-10-08 11:38:03

标签: java jsp internationalization jstl

我目前正在使用java中的国际化web应用程序,只使用标准的servlet api(没有框架)。对于页面上的所有静态文本,如标题,标签等。我一直在使用fmt标记库,由WEB-INF / classes中的属性文件支持。 应用程序几乎已经完成,但是我们的客户可能希望稍后更改或更新翻译的要求突然被引入 由于属性文件位于war中,因此如果不重新编译应用程序,则无法执行此操作。所以,我的问题很简单:有没有办法更新战争中的属性文件,或者可能有setBundle标记加载外部目录中的文件。或者可能是第三种更干净,更正确的方法来实现这一目标?

2 个答案:

答案 0 :(得分:2)

战争只是一个zip文件。解压缩,更改属性文件并重新压缩。无需重新编译任何东西。

在单个操作中提供一个简单的脚本应该很容易。您甚至可以使用jar的u(更新)选项来执行此操作。见http://download.oracle.com/javase/tutorial/deployment/jar/update.html

答案 1 :(得分:0)

将它们放在外部文件夹中,并将其路径添加到webapp的运行时类路径中。例如,/var/webapp/conf。至于将此路径添加到webapp的运行时类路径,这取决于所使用的服务器。如果它是例如Tomcat 6/7,则需要将其添加到shared.loader文件的Tomcat/conf/catalina.properties属性中。

shared.loader = /var/webapp/conf

通过这种方式,它可以在webapp的运行时类路径中以通常的方式使用,而且您不需要重新打包WAR ..