JSF 2.0: переменные времени выполнения в файлах свойств - PullRequest
0 голосов
/ 07 декабря 2011

Весь текст в нашем приложении читается из файла свойств например,

<h:outputText value="#{text['fill.form']}"/>

text - это пакет ресурсов, который преобразуется в Text.properties.

Text.properties
fill.form=Please fill out the form below

В другом случае нам нужны переменные времени выполнения внутри свойств например,

welcome.user=Welcome #{name.last}, #{name.first} to our site

name - это управляемый бин, свойства которого первым и последним разрешаются во время выполнения.

Однако имя и фамилия не разрешаются во время выполнения. Вместо этого пользователь видит следующее

Welcome #{name.last}, #{name.first} to our site

Какие-либо решения этой проблемы? Должен ли я написать собственный распознаватель EL для разрешения текста из свойств, а также любые свойства времени выполнения внутри него.

1 Ответ

1 голос
/ 07 декабря 2011

Я считаю, что вы хотите использовать h:outputFormat для достижения этой цели.В вашем примере вы можете сделать следующее:

<h:outputFormat value="#{text['welcome.user']}">
    <f:param value="#{name.last}"/>
    <f:param value="#{name.first}"/>
</h:outputFormat>

Чтобы это работало, вам нужно изменить свое приветственное сообщение на следующее:

welcome.user=Welcome {0}, {1} to our site
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...