FreeMarker(六)全局配置

共享变量

在Java代码中使用Configuration对象的setSharedVariable()方法即可实现共享变量,FreeMarkers代码在第十篇已经给出。

    public static void main(String[] args) throws Exception {
        Map<String, Object> map = new HashMap<>();
        map.put("name", "xiaoming");
        Configuration cfg = FreeMarkers.defaultConfiguration();
        cfg.setSharedVariable("share", "共享变量");
        cfg.setSharedVaribles(map); 

        System.out.println(FreeMarkers.fileToStr("test1.ftl", map));
        System.out.println(FreeMarkers.fileToStr("test2.ftl", map));
    }

全局的数据格式化配置

SpringMVC配置见”SpringMVC整合”

    setNumberFormat("0.####");
    setDateFormat("yyyy-MM-dd");
    setTimeFormat("HH:mm:ss");
    setDateTimeFormat("yyyy-MM-dd HH:mm:ss");
    setBooleanFormat("true,false");
    setWhitespaceStripping(true);
    setClassicCompatible(true);
    setDirectoryForTemplateLoading(File dir):设置模板存放路径——文件路径;
    setServletContextForTemplateLoading(Object sctxt, String path):设置模板存放路径——Servlet上下文;
    setClassForTemplateLoading(Class clazz, String pathPrefix):设置模板存放路径——类路径;
    setTemplateUpdateDelay(int delay):设置模板文件更新时间(毫秒);
    setStrictSyntaxMode(boolean b):开启/关闭严格的语法,默认为truesetWhitespaceStripping(boolean b):开启/关闭空白移除,默认为truesetTagSyntax(int tagSyntax):设置ftl标签的类型;
         ?AUTO_DETECT_TAG_SYNTAX: 可以自定义格式,系统会选择第一个标签作为参照;
         ?ANGLE_BRACKET_TAG_SYNTAX: 使用尖括号;
         ?SQUARE_BRACKET_TAG_SYNTAX: 使用方括号;
    setSharedVariable(String name, TemplateModel tm):设置共享变量;
    setSharedVariable(String name, Object obj):设置共享变量;
    setAllSharedVariables(TemplateHashModelEx hash):设置共享变量;
    clearSharedVariables():清除共享变量;
    clearTemplateCache():清除缓存;
    setSetting(String key, String value):为freemarker做配置属性的入口;
    getTemplate:一系列获取Template的方法;

使用<#setting>标签数据格式化配置

在文件中使用此标签做全局的设置

// 用来设置整个系统的一个环境 
locale // zh_CN 中文环境
number_format 
boolean_format 
date_format
time_format
datetime_format 
time_zone 
classic_compatible
// 例1:
<#setting number_format="percent"/>    // 设置数字默认输出方式('percent',百分比)

// 例2:
// 假如当前是匈牙利的设置,然后修改成美国
${1.2} // 输出1,2
<#setting locale="en_US"> 
${1.2} // 输出1.2,因为匈牙利是采用", "作为十进制的分隔符,美国是用". "

转载于:https://www.cnblogs.com/chenss15060100790/p/8538747.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值