Переменная EL в JSF ResourceBundle - PullRequest
5 голосов
/ 01 июля 2011

Я где-то читал (больше не нашел), что могу использовать EL Expresions в комплекте ресурсов, а затем использовать его без изменений в * .xhtml файлах.

some.text=#{someBean.stepsLeft} more

для переключенияпеременная на разных языках.Но на самом деле это не сработает.Я могу использовать класс Interpolator для обработки синтаксического анализа или добавить some.text.before some.text.after и оставить один из них пустым.Я бы предпочел использовать его без interpolator.interpolate (), если это возможно.

1 Ответ

9 голосов
/ 01 июля 2011

JSF resourcebundles по умолчанию не разрешает EL. Однако по умолчанию он поддерживает MessageFormat API в сочетании с <h:outputFormat> и <f:param>.

some.text = {0} more

с

<h:outputFormat value="#{i18n['some.text']}">
    <f:param value="#{someBean.stepsLeft}" />
</h:outputFormat>

Вы даже можете явно сделать его типом number, например, 1000 будет отображаться как 1,000 или 1.000 в зависимости от локали просмотра.

some.text = {0,number} more

Дополнительные параметры форматирования см. В документации по MessageFormat API .

...