【发布时间】:2014-01-27 16:24:30
【问题描述】:
我正在寻找一种方法来将我的参数转换为 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,但这不足以回答我的具体问题。
非常感谢您的任何帮助!
【问题讨论】:
-
用其他方式设计你的输出怎么样
<h:outputText value="#{messages.TEXT1} #{backingBean.euroValue} #{messages.TEXT2} #{backingBean.dollarValue} #{messages.TEXT3}" \>?或第二种方式:在支持 bean 中创建返回完整字符串并在输出文本中调用它的方法。 -
非常感谢您的帮助!这些是规避这种约束的好方法,而且它们似乎工作得很好。我想我会和他们中的一个一起去。我只是想,在这里使用转换器是最干净的方法。
标签: converter jsf-1.2 parameterized param outputformat