Вопрос

Мне нужно иметь сообщения о ресурсах, которые содержат разрешители EL, когда загружены из ресурса ResourceBundle. В основном у меня есть несколько файлов свойств, содержащих текст. Некоторые из текста будут выглядеть следующее:

welcometext = Добро пожаловать # {userbuan.name}

Единственный возможный способ, которым я могу видеть, что эта работа в настоящее время реализует пользовательский Taglib, чтобы вместо того, чтобы сказать:

<f:loadBundle var="messages" basename="application.messages"/>

Я должен был бы использовать

<mytaglib:loadBundle var="messages" basename="application.messages"/>
#{messages.welcomeText}

Учитывая пользователя с именем пользователя «user1», это должно выводить

Welcome User1

Моя реализация будет использовать пользовательский класс ResourceBundle, который переопределял бы HOLDGETOBJECT, используйте Elresolver для разрешения переменных и т. Д. Предложения? Реализации, которые уже доступны?

Я ценю вашу помощь.

Это было полезно?

Решение

Скорее использовать <h:outputFormat> и <f:param> отображать параметризованный текст. Он поддерживается MessageFormat API., будут применяться одинаковые правила, как описано в Javadoc API.

Например

welcomeText=Welcome {0}

с

<h:outputFormat value="#{messages.welcomeText}">
    <f:param value="#{userbean.name}" />
</h:outputFormat>

Там это для :)

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top