Как добавить конвертер в параметризованные сообщения в JSF 1.2?
Я ищу способ преобразования моих параметров в параметризованный текст на странице XSHTML JSF 1.2.
Допустим, у меня есть это параметризованное сообщение в моем messages.properties
(пожалуйста, игнорируйте глупость этого примера):
EXAMPLE_TEXT=Right now {0} Euro is {1} US-Dollar.
И я хотел бы, чтобы результат выглядел так:
Right now 1 Euro is 1.3658 US-Dollar.
Тогда мой код xhtml выглядит так:
<h:outputFormat value="#{messages.EXAMPLE_TEXT}">
<f:param value="#{backingBean.euroValue}" />
<f:param value="#{backingBean.dollarValue}" />
</h:outputFormat>
Я уже реализовал конвертер (скажем, его идентификатор bigDecimalConverter
), который преобразует числовые значения в определенные форматы.
Мой вопрос сейчас: (Как) преобразователь может быть зарегистрирован в значения параметров выхода?
Я представляю что-то вроде этого (что, к сожалению, кажется невозможным):
<h:outputFormat value="#{messages.EXAMPLE_TEXT}">
<f:param value="#{backingBean.euroValue}" converter="bigDecimalConverter" />
<f:param value="#{backingBean.dollarValue}" converter="bigDecimalConverter" />
</h:outputFormat>
Задавая вопрос в Google, я нашел эту ветку, но она не дает достаточного ответа на мою конкретную проблему.
Заранее большое спасибо за любую помощь!
1 ответ
Вы можете иметь точно такой же вывод с outputText
:
1) Измените вывод на <h:outputText value="#{messages.TEXT1} #{backingBean.euroValue} #{messages.TEXT2} #{backingBean.dollarValue} #{messages.TEXT3}" />
2) Создайте метод в базовом компоненте, который возвращает полную строку и вызывает его в выходном тексте.
(Этот ответ был преобразован из предыдущего комментария)