Я хотел бы иметь динамический пакет ресурсов в моем приложении. Я покажу форму пользователю, где он сможет редактировать значение 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>
Но я не думаю, что это проблема. Во всяком случае, другим решением было бы использовать сессионный компонент и получать значения свойств, обращающиеся к нему. Что вы думаете об этом? Было бы лучше сохранить эти значения в моей базе данных и забыть о файле свойств?
Связанный: http://stackoverflow.com/questions/4325164/how-to-reload-resource-bundle-in-web-application Обратите внимание на ответ arjan. – BalusC
Спасибо, брат! Я также попробую код arjan. Я уже получил ожидаемые результаты. У меня была небольшая проблема, когда я пытаюсь изменить конфигурации, такие как «config.dataTable.rowsPerPage», но я думаю, что это должно быть проблемой с перфорацией. – Duprat