Отображение <h: inputText> и <h: selectOneMenu> как <f: param> для <h: outputFormat>

Я использую <h:outputFormat> отформатировать сообщение.

<h:outputFormat value="Sent {0} to {1} different people">
    ...
</h:outputFormat>

Я хотел бы показать <h:inputText> вместо параметра {0} и <h:selectOneMenu> со списком чисел от 1-50 вместо параметра {1},

Можно ли это сделать, используя <f:param>или есть альтернатива?

1 ответ

Решение

Это невозможно с <f:param> стандартной реализации JSF. Это, однако, возможно с <o:param> служебной библиотеки JSF OmniFaces, которая расширила <f:param> с поддержкой предоставления реального кода JSF в качестве параметра формата.

Вот как вы можете решить это, используя <o:param>:

<h:outputFormat value="Sent {0} to {1} different people" escape="false">
    <o:param>
        <h:inputText value="#{bean.input}" />
    </o:param>
    <o:param>
        <h:selectOneMenu value="#{bean.number}">
            <f:selectItems value="#{bean.numbers}" />
        </h:selectOneMenu>
    </o:param>
</h:outputFormat>
Другие вопросы по тегам