【问题标题】:freemarker configuration in struts2struts2中的freemarker配置
【发布时间】:2018-05-16 23:39:29
【问题描述】:

我正在使用带有 struts 2.3.24 的 freemarker 2.3.21,我需要为 struts 配置(自定义)freemarker。

为什么?

因为在 FTL 文件中我需要将默认数字格式更改为 “计算机” 格式

问题

数字以默认格式打印,例如,12345 将在 FTL 文件中打印为 12,345,所以当我需要重新使用它时,这个数字会变成一个字符串。

基本解决方案 我在 java 程序中设置了数字格式并测试了正常工作的解决方案,该解决方案将适用于使用以下对象处理的 ftl。

Configuration cfg = new Configuration(Configuration.VERSION_2_3_21);
        cfg.setClassForTemplateLoading(FTLUtility.class, ftlRootUrl);
        cfg.setNumberFormat("computer"); // this will show the number without formatting 

但对于 struts,它使用的是其他配置,我不知道该配置存在于何处。我需要定制那个。

我知道我们可以使用 ${someNumverVar?c} 来解决我的问题,但我不想像这样替换每个变量。

如果您有任何想法或建议,请随时与我分享。

【问题讨论】:

    标签: java struts2 freemarker


    【解决方案1】:

    根据 Struts 文档,您可以使用 freemarker.properties 文件指定 FreeMarker 配置设置,该文件应位于“类路径中”。 (设置列表可以找到in the FreeMarker API docs of Configuration.setSetting

    顺便说一句,不要使用 2.3.21;这是一个非常旧的版本。 (我指的不是incompatibleImprovements,而是jar的版本。)

    【讨论】:

    • freeemarker 版本不是问题...我出于特定原因使用它...包括类路径中的 freemarker.properties 解决了问题:P
    猜你喜欢
    • 2011-12-03
    • 2012-06-25
    • 1970-01-01
    • 1970-01-01
    • 2015-02-27
    • 2011-01-26
    • 2013-04-11
    • 1970-01-01
    • 2011-12-24
    相关资源
    最近更新 更多