Как сохранить специфичные для приложения параметры конфигурации JSF2.0 в текстовом файле и сохранить их в компоненте сеанса во время выполнения - PullRequest
0 голосов
/ 05 марта 2012

Я искал в сети, но не смог найти решение для этого.Мне нужна помощь о том, как сохранить параметры конфигурации приложения в виде простого текстового файла или файла XML.Есть ли java-пакет или класс, который предоставляет эту услугу?

Например, настройка длины пагинации данных и т. Д. Поэтому мне не нужно перекомпилировать приложение, когда мне нужно изменить параметры пагинации.

Примерно так: Может быть, файл myApp.cfg, который содержит это.нумерация страниц: 10,20,30,50

И тогда в моем файле xhtml у меня будет что-то вроде этого.

<p:dataTable id="dtClientList" value="#{saClientController.lazyModel}" rowsPerPageTemplate="#{myApp.cfg.pagination}">

И, возможно, даже получить доступ к параметру конфигурации из моей сессии илибоб в области приложения.Затем повторно используйте их для нескольких пользователей.

Можно ли использовать файл свойств пакета пользовательских ресурсов для хранения параметров конфигурации, таких как длина разбиения на страницы, и доступа к параметрам в компоненте поддержки следующим образом?

  FacesContext fc = FacesContext.getCurrentInstance();
    ResourceBundle bundle = fc.getApplication().getResourceBundle(fc,"bundle_name");
    bundle.getString("resource_identifier");

Imпоиск чего-то похожего на файл app.config в реализации dot net, который представляет собой XML.

Пожалуйста, помогите.И если мой вопрос не имеет смысла, дайте мне знать.Большое спасибо.

1 Ответ

1 голос
/ 05 марта 2012

Вы можете использовать файл свойств (простой текстовый файл) с таким содержимым:

key1 = value1
key2 = value2

Назовите этот файл, например, MyResources.properties и поместите его в корневой каталог исходного пути.

Затем вы можете получить доступ к файлу свойств с помощью класса ResourceBundle :

import java.util.ResourceBundle;
...
ResourceBundle rb = ResourceBundle.getBundle("MyResources");
String myValue1 = rb.getString("key1");

Вы можете получить доступ к этому файлу из любого сессионного компонента, который вам нравится. Если параметры не зависят от сеанса, вы также можете вместо этого использовать бин области действия приложения.

...