freemarker特殊字符输出

本文介绍Freemarker模板引擎的基本用法,包括特殊字符处理、插值表达式、集合遍历及顶层变量的使用,并展示了如何操作Map类型的变量。此外还详细解释了字符串操作方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如果某段文本中包含大量的特殊符号,freemarker提供了另一种特殊格式:可以在指定字符串内容的引号前添加r标记,在r标记后的文 件将会直接输出     如 ${r"${foo}"}。

     使用标签时前面的#符号也可能变成@,如果该指令是一个用户指令而不是系统内建指令时,应将#换为@符号。

 

     插值,本人理解为${a}中 a就是插值

     插值结果如果为字符串值:直接输出表达式结果

     插值结果为数字值:根据默认格式将表达式结果转换为文本输出。可以使用内建的字符串函数格式化单个插值

     如:<#assign lastUpdated="2009-01-07  15:05"?datetime("yyyy-MM-dd HH:mm")>

           ${lastUpdated?string("yyyy-MM-dd HH:mm:ss zzzzz")}结果为2009-01-07 15:05:00 中国标准时间

 

     集合

     集合以方括号包括,各集合元素之间以英文逗号(,)分割,实例:

    <#list ["星期一","星期二"] as x>

     ${X}

    </#list>

 

 

    顶层变量

    所谓顶层变量就是直接放在数据模型中的值,对于顶层变量,直接使用${variableName}来输出变量值

 

   输出Map元素

   如:Book b=new Book();

         Author author=new Author();

        author.setName('ss');

        b.setAuthor(author);

      Map root =newHashMap();

      root.put("info",b);

      输出:info.author.name

      或为    info["author"]["name"],或 两者的混合

 

字符串操作

freemarker的表达式对字符串操作十分灵活,可以将字符串常量和变量连接起来,也可以返回字符串的子串等。

如:Map root=new HashMap();

       root.put("user","yeeku");

       ${"hello,${user}!"}或者${"hello,"+user+"!"}

       ${}只能用于文本部分

原文:http://hi.baidu.com/%B5%DA%D2%BB%B8%F6%C9%CF%BB%F0%D0%C7/blog/item/c802e3187455a762dab4bddf.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值