我正在使用<h:outputFormat>
格式化邮件。
<h:outputFormat value="Sent {0} to {1} different people">
...
</h:outputFormat>
我希望显示<h:inputText>
代替参数{0}
和<h:selectOneMenu>
,其中包含1-50的数字列表,而不是参数{1}
。
是否可以使用<f:param>
这样做,还是有替代方案?
答案 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>