这有效:
<h:outputText value="Active Locale : " />
#{view.locale}
但是我怎样才能用 EL 实现这样的目标呢?
<h:outputText value="Active Locale Decimal Separator : " />
#{new DecimalFormat(view.locale).decimalFormatSymbols.groupingSeparator}
最佳答案
我想知道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"
根据您的具体需要,它们也可能会有所帮助。
关于JSF 2 : can EL do something like this?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4545264/