将<h:inputtext>和<h:selectonemenu>显示为<h:outputformat>的<f:param> </h:outputformat> </f:param> </h:selectonemenu> </h:inputtext>

时间:2013-09-17 11:39:15

标签: jsf-2 param messageformat

我正在使用<h:outputFormat>格式化邮件。

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

我希望显示<h:inputText>代替参数{0}<h:selectOneMenu>,其中包含1-50的数字列表,而不是参数{1}

是否可以使用<f:param>这样做,还是有替代方案?

1 个答案:

答案 0 :(得分:1)

使用标准JSF实现的<f:param>无法做到这一点。但是,使用<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>