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语法的主要内容,如果未能解决你的问题,请参考以下文章