2017-01-03 6 views
0

Мне нужны некоторые заполнители с автоматическим заполнением моего ресурсного пакета.Заполнитель в ресурсных пакетах

Пользователь моего приложения имеет две возможные конфигурации, например «1» и «2». В зависимости от этой конфигурации запись должна возвращаться с правильным значением.

Я знаю, что условия возможны:

currentConfig=The configuration is currently the {0,choice,0#first|1#second} 

В моих гранях-config.xml расслоение ресурса настроен для доступа в JSF.

Теперь я хочу, чтобы получить это значение в JSF без указания параметров:

<h:outputText value="#{res.currentConfig}"/> 

Если пользователь настроил «1», то первое значение должно быть возвращено, иначе второе значение.

Может ли это быть реализовано независимо от страниц JSF?

ответ

0

Вы можете реализовать получение текста из пакета ресурсов по-своему. Например, вы можете создать такой метод в некоторых managedbean:

public String getCongiurationText() { 
    FacesContext context = FacesContext.getCurrentInstance(); 
    Locale locale = context.getViewRoot().getLocale(); 
    ResourceBundle bundle = ResourceBundle.getBundle("messages", locale); 
    String msg = bundle.getString("currentConfig"); 

    Integer value = 1; 

    return MessageFormat.format(msg, getConfiguration()); 
} 

Затем в outputText:

<h:outputText value="#{someUtilBean.getCongiurationText()}" /> 

При таком подходе вы получите сообщение независимо от JSF страниц. Таким образом, на каждой странице вы указываете один и тот же метод, но в зависимости от конфигурации отображает другой текст. Конфигурация может быть получена, конечно, по-разному, но зависит от того, как вы хотели бы ее обработать.

+0

Спасибо за ваш ответ, но я не хочу менять свои файлы JSF. Лучшим способом было бы глобально настроить вызов ресурса из файла JSF. – Smoothi

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