Как добавить конвертер в параметризованные сообщения в 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) Создайте метод в базовом компоненте, который возвращает полную строку и вызывает его в выходном тексте.

(Этот ответ был преобразован из предыдущего комментария)

Другие вопросы по тегам