我正在寻找一种在JSF 1.2 XHTML页面中的参数化文本中转换我的参数的方法。
假设我在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>
我已经实现了一个转换器(假设其ID是bigDecimalConverter
),该转换器将数字值转换为特定格式。
我现在的问题是:(如何)转换器可以注册到输出的param值?
我想象这样的事情(不幸的是,这似乎是不可能的):
<h:outputFormat value="#{messages.EXAMPLE_TEXT}">
<f:param value="#{backingBean.euroValue}" converter="bigDecimalConverter" />
<f:param value="#{backingBean.dollarValue}" converter="bigDecimalConverter" />
</h:outputFormat>
询问Google我找到了这个线程,但这对我的特定问题没有足够的答案。
预先感谢您的任何帮助!
您可以使用outputText
的完全相同的输出:
1)将输出更改为<h:outputText value="#{messages.TEXT1} #{backingBean.euroValue} #{messages.TEXT2} #{backingBean.dollarValue} #{messages.TEXT3}" />
2)在返回bean中创建方法,以返回完整的字符串并在输出文本中调用。
(此答案是从以前的评论转换的)