JSF selectItem标签格式

时间:2020-03-05 18:59:43  来源:igfitidea点击:

试图将所有演示文稿内容保留在该项目的xhtml中,并且我需要在selectItem标记中格式化一些具有BigDecimal值的值,并且需要使其看起来像货币。无论如何,是否要在<f:selectItem>标签内应用<f:convertNumber pattern =" $#,## 0.00" />

任何执行此操作或者变通的方法都不需要将其推送到Java代码中?

解决方案

回答

我们可以使用该模式设置转换器,但这听起来与我们想要的完全相反。

回答

在这里进行了更多研究之后,我非常相信在当前的JSF实现中这是不可能的。就是没有机会改变价值。

http://java.sun.com/javaee/javaserverfaces/1.2/docs/tlddocs/f/selectItem.html

TLD将itemLabel属性显示为ValueExpression,而将<< f:selectItem>`正文内容显示为空。因此,这些标签之一内不允许存在任何内容,并且标签必须指向Java模型中的逐字值。因此,它已经被格式化为Java模型的格式。

回答

作为jsf的初学者,我遇到了类似的问题,也许我的解决方案很有帮助,也许不是" jsf精神"

我刚刚创建了一个自定义taglib并扩展了该类(在我的情况下为org.apache.myfaces.component.html.ext.HtmlCommandButton),并覆盖了设置方法以应用自定义参数。

因此,我使用的是<< mytags:commandButton />,而不是<t:commandButton />`,它非常灵活。