尝试将所有演示文稿内容保留在此项目的xhtml中,并且我需要在selectItem标记中格式化一些具有BigDecimal值的值,并且需要使其看起来像货币。无论如何要在<f:convertNumber pattern="$#,##0.00"/>
代码中应用<f:selectItem>
吗?
任何方式做到这一点或解决方法都不涉及将其推入java代码?
答案 0 :(得分:4)
在这里做了一些更多的研究后,我非常确信当前的JSF实现是不可能的。没有机会改变价值。
http://java.sun.com/javaee/javaserverfaces/1.2/docs/tlddocs/f/selectItem.html
tld将itemLabel
属性显示为ValueExpression
,将<f:selectItem>
的正文内容显示为空。因此,其中一个标记内不允许存在任何内容,标签必须指向Java模型中的逐字值。所以它的格式是来自Java模型。
答案 1 :(得分:1)
作为jsf的初学者我有类似的问题,也许我的解决方案很有帮助,也许它不在“jsf精神”
我刚创建了一个自定义taglib并扩展了该类(在我的案例中是org.apache.myfaces.component.html.ext.HtmlCommandButton)并覆盖了setter以应用自定义参数。
所以我使用<t:commandButton/>
而不是<mytags:commandButton/>
,而不是我想要的那样灵活。
答案 2 :(得分:0)
您可以使用该模式设置转换器,但这听起来与您想要的完全相反。