freemarker一般的操作

来源:互联网 发布:bs公式推导过程 知乎 编辑:程序博客网 时间:2024/04/29 21:44

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>


0 0
原创粉丝点击