2011-02-08 3 views
0

Я хотел бы иметь динамический пакет ресурсов в моем приложении. Я покажу форму пользователю, где он сможет редактировать значение Resource Bundle. Я не могу перезапустить приложение, чтобы изменения вступили в силу. Я нашел решение, которое решает часть моей проблемы. Используя «commons-configuration» из Apache или/и этого http://www.coderanch.com/t/292347/JSP/java/we-reload-property-file, я могу изменить файл «.properties» и получить результаты с помощью «ResourceBundle.getBundle». Проблема заключается в том, когда я пытаюсь получить доступ к свойству в моем файле XHTML, как это:Набор динамических пакетов JSF/комплект сообщений

<h:outputLabel value="#{msg[user.name]}" /> 

Значение этого ключа устарело.
Есть ли решение для этого?

Просто для информации, я использую весной, так что у меня есть это в моей граням-конфигурации:

<el-resolver>org.springframework.web.jsf.el.SpringBeanFacesELResolver</el-resolver> 

Но я не думаю, что это проблема. Во всяком случае, другим решением было бы использовать сессионный компонент и получать значения свойств, обращающиеся к нему. Что вы думаете об этом? Было бы лучше сохранить эти значения в моей базе данных и забыть о файле свойств?

+0

Связанный: http://stackoverflow.com/questions/4325164/how-to-reload-resource-bundle-in-web-application Обратите внимание на ответ arjan. – BalusC

+0

Спасибо, брат! Я также попробую код arjan. Я уже получил ожидаемые результаты. У меня была небольшая проблема, когда я пытаюсь изменить конфигурации, такие как «config.dataTable.rowsPerPage», но я думаю, что это должно быть проблемой с перфорацией. – Duprat

ответ

0

\ о/

Я проверил, чтобы переместить мое определение пакета ресурсов из моих граней-конфигурации на мою страницу с использованием тегами п: loadBundle и это сработало!

Смежные вопросы