我正在寻找一种方法来在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
)。
我现在的问题是:(如何)将转换器注册到输出的参数值?
我想象这样的事情(遗憾的是,这似乎是不可能的):
<h:outputFormat value="#{messages.EXAMPLE_TEXT}">
<f:param value="#{backingBean.euroValue}" converter="bigDecimalConverter" />
<f:param value="#{backingBean.dollarValue}" converter="bigDecimalConverter" />
</h:outputFormat>
询问谷歌我发现this thread,但这不足以解决我的具体问题。
非常感谢您提供任何帮助!
答案 0 :(得分:0)
您可以使用outputText
获得完全相同的输出:
1)将输出更改为<h:outputText value="#{messages.TEXT1} #{backingBean.euroValue} #{messages.TEXT2} #{backingBean.dollarValue} #{messages.TEXT3}" />
2)在backing bean中创建返回完整String的方法并在输出文本中调用它。
(这个答案是从之前的评论转变而来)