freemarker

在java中存入一个map:

Map root = new HashMap();
root.put("user", "老周");

模板文件,在指令中直接用key,在页面显示中,则要用EL表达式获取key的值 :

<#if user= "老周">
    ${user}
</#if>

root.put("random",new Random().nextInt(100));

<#if  random gte 80>
    ${random}    优秀
<#elseif random gte 60>
    ${random}   及格!
<#else>
    ${random}   一般!
</#if>

List指令还隐含了两个循环变量:
item_index:当前迭代项在所有迭代项中的位置,是数字值。
item_has_next:用于判断当前迭代项是否是所有迭代项中的最后一项。

List list = new ArrayList();
list.add(new Address("中国","北京"));
list.add(new Address("美国","纽约"));
root.put("lst", list);

<#list lst as dizhi >
    ${dizhi_index}  <b>    ${dizhi}</b>
    
    <#if !dizhi_has_next>  
        最后一个元素的国家是: ${dizhi.country}
    </#if>
    
</#list>

输出:

0 <b> Address [city=北京, country=中国]</b>

1 <b> Address [city=纽约, country=美国]</b>

最后一个元素的国家是: 美国

<#if users??>                   //如果 users 不是空
  <#list users as user >        //遍历users
    ${user.id} - ${user.name}
  </#list>
<#else>                        //否则 users 是空
  ${user!"变量为空则给一个默认值"}    //输出默认的值
</#if>





如果 cust.customerImg 变量是"" 或者 NULL, 取${basePath}/images/avatar.png , 否则取变量值。

<img class="touxiangimg"
<#if (cust.customerImg)??> src="${basePath}/images/avatar.png"
<#else> src="${(cust.customerImg)}"
</#if>
/>

如果 cust.customerImg 变量是 NULL, 取${basePath}/images/avatar.png , 否则取变量值(如果cust.customerImg是"" , src也取值"" )。

<img class="touxiangimg" src="${(cust.customerImg)!'${basePath}/images/avatar.png'}" />

 
原文地址:https://www.cnblogs.com/z360519549/p/8642853.html