FreeMarker语法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了FreeMarker语法相关的知识,希望对你有一定的参考价值。

1.${val}被替换对象。

<?xml version="1.0" encoding="UTF-8"?>  
<people  xmlns:h="http://www.w3.org/TR/html4/">  
    <person id="000001" age="20">  
        <name>  
            <family>${p.fname}</family>  
            <given>${p.gname}</given>  
        </name>  
        <email>${p.email}</email>  
        <link manager="${p.manager}" />       
    </person>      
</people>  

在模板中通过${val}指定的值,如果在处理的时候val值为null,会出现下面的异常:

freemarker.core.InvalidReferenceException: Expression valis undefined on line 46, column 63 in test.ftl

但是有的时候,里面有的值不是必须有值的,可以通过${val!""}来绕过这个异常.${val!""}的意思是如果val为null,取值"".

2.Freemarker对XML文件中特殊字符的处理:通过<#escape>,eg:

<#escape x as x?xml>  
<person id="000001" age="20">  
    <name>  
        <family>${p.fname}</family>  
        <given>${p.gname}</given>  
    </name>  
    <email>${p.email}</email>  
    <link manager="${p.manager}" />  
</person>  
</#escape>

3.循环处理 <#list>

    <#list people as p>
    <person id="000001" age="20">
        <name>
            <family>${p.fname}</family>
            <given>${p.gname}</given>
        </name>
        <email>${p.email}</email>
        <link manager="${p.manager}" />
    </person>
    </#list>

4.分支处理<#if>,根据值对模板做不同的输出.

<#if p.level == "L1">
        <l1tag>xxx</l1tag>
</#if>

 

以上是关于FreeMarker语法的主要内容,如果未能解决你的问题,请参考以下文章

FreeMarker语法2

freemarker的基本语法

FreeMarker语法

Freemarker的基本语法

NetSuite 高级 PDF 模板 - Freemarker 语法

FreeMarker的基础语法使用 && 心得和技巧