Изменить перевод в JSTL FMT без перекомпиляции - PullRequest
1 голос
/ 08 октября 2011

В настоящее время я работаю над интернационализированным веб-приложением в java, используя только стандартный сервлет api (без фреймворков).для всего статического текста на страницах, таких как заголовки, метки и т. д. Я использовал библиотеку тегов fmt, подкрепленную файлами свойств в WEB-INF / classes.приложение почти готово, но требование, которое наш клиент мог бы захотеть позже изменить или обновить переводы, неожиданно было введено.
Поскольку файлы свойств находятся внутри войны, это невозможно выполнить без перекомпиляции приложения.Итак, мой вопрос прост: есть ли способ обновить файлы свойств внутри войны или, может быть, тег setBundle загружает файлы из внешнего каталога.или, может быть, третий, более чистый и правильный способ добиться этого?

Ответы [ 2 ]

2 голосов
/ 08 октября 2011

Война - это просто zip-файл. Разархивируйте его, измените файлы свойств и разархивируйте. Не нужно ничего перекомпилировать.

Предоставление простого сценария для выполнения одной операции должно быть простым. Вы можете даже использовать опцию u (update) jar, чтобы сделать это. Смотри http://download.oracle.com/javase/tutorial/deployment/jar/update.html

0 голосов
/ 08 октября 2011

Поместите их во внешнюю папку и добавьте ее путь к пути к классам веб-приложения. Например, /var/webapp/conf. Что касается добавления этого пути в путь к классам среды выполнения веб-приложения, это зависит от используемого сервера. Если это, например, Tomcat 6/7, то вам нужно добавить его в свойство shared.loader файла Tomcat/conf/catalina.properties.

shared.loader = /var/webapp/conf

Таким образом, он доступен обычным способом в classpath веб-приложения, и вам не нужно перепаковывать WAR.

...