JSF 2:EL可以这样做吗?

时间:2010-12-28 10:12:26

标签: jsf jsf-2 el

这有效:

<h:outputText value="Active Locale : " /> 
#{view.locale}

但我怎样才能用EL实现这样的目标?

<h:outputText value="Active Locale Decimal Separator : " /> 
#{new DecimalFormat(view.locale).decimalFormatSymbols.groupingSeparator}

1 个答案:

答案 0 :(得分:4)

我想知道你对groupingSeparator的确切含义是什么?

标准java.text.DecimalFormat既没有getGroupingSeparator也没有groupingSeparator字段或方法。所以我有点在黑暗中你实际想要实现的目标。你想要_印刷?所以,如果本地是en_uk,结果是“_”?

无论您究竟想要什么,您都可以通过构建自己的EL功能来完成所有工作。在EL中,它看起来像这样:

#{my:someFormatting(view.locale)}
然后将someFormatting实现为静态Java方法,然后分配您自己的命名空间(在本例中为“my”)。如果您需要,请查找教程以帮助您。

Facelets还有一些标准的EL功能。这些是在以下命名空间中定义的JSTL函数:

xmlns:fn="http://java.sun.com/jsp/jstl/functions"

根据您的确切需要,他们也可能会提供一些帮助。