从文档中,特殊变量.locale
检索语言环境的String表示。
但是如何在freemarker标记中检索Locale
?
如果没有内置函数,我必须将Locale
传递给模板并将其传递给每个宏。
简化示例:
Java Bean.class
public Locale getLocale();
public String getFoo(Locale locale);
Freemarker的
无法使用字符串区域设置!
<#setting locale="${bean.getLocale()}">
${bean.getFoo(.locale)}
答案 0 :(得分:0)
Freemarker的.locale是String而不是Locale。
不确定你的getFoo()在做什么,但也许你需要一个Locale?如果您需要,此答案将帮助您构建它:How to get Locale from its String representation in Java?
答案 1 :(得分:0)
我已在2.3.21中添加.locale_object
(应于2014-10-12发布)。
否则,如果您已将Locale
放入数据模型中,为什么还需要将其传递给每个宏?宏查看数据模型变量。