1、循环展示后台传来的数据datalist:
<#list datalist as option>
<input type="text" name="category" value="${option.id?default('')}" />${option.tname?default('')}
<p>当前下标:${option_index}</p>
</#list>
2、if判断的使用:
//obj.valid为true展示span
<#if obj.valid==true>
<span id=""></span>
</#if>
// obj不为空展示span
<#if obj??>
<span id=""></span>
</#if>
// obj.myVote不等于空串展示span
<#if obj.myVote != "">
<span id=""></span>
</#if>
//DX不等于空且内容数据长度大于0展示span
<#if DX?? && DX?size gt 0>
<span id=""></span>
</#if>
3、最基本的取值:
${obj.result?default('')};取的是后台传来的obj对象的result字段的值,若是该字段为空展示空串‘’
4、宏变量的使用:在util.html中写上下面的处理字符串显示的方法,在test.html中通过<#import "util.html" as util>引入这个处理方法;
<#macro stringSub str = "">
<#if str?default('')?length lt 13>${str?default('')}<#else>${str?substring(0,13)}...</#if>
</#macro>
在test.html中通过<@util.stringSub str = "${obj?default('')}"/>引用uitl里的这个处理方法,得到的结果字符串最大会显示13个字符。
5、在freemarker配置的页面里的freemarker标签里可以直接得到SESSION里的值。
6、时间类型转成字符串类型:<li><span class="font16">发布时间:</span> <span class="li-right">${article.publishTime?string('yyyy.MM.dd HH:mm:ss')}</span></li>
7、便利map集合
<#if clientSourceData?exists> <#list clientSourceData?keys as key> <tr> <td>${key}</td> <td>${clientSourceData.get(key)}</td> </tr>
</#list> </#if>
8.三目运算符取值
${article.valid?string('收藏','已收藏')}
9.freemarker自定义变量,通过$取值。
<#assign x=0 />
<#list seller.goodsSet as goods>
<#assign x=x+1 />
<div class="ms01"><a href=""><img src="${base}${goods.defaultBigGoodsImagePath}"><p>美食详情介绍${x}</p></a></div>
<#if x%4==0>
</div>
<div class="ms">
</#if>
</#list>
10.判断list里是否存在某个对象
${x?seq_contains("blue")?string("yes", "no")}