一、Freemarker取值
1.{属性名!默认值} - 使用默认值
3.${属性名?string} - 格式化输出
代码如下:
<#--${属性名}-->
<h1>${title}</h1>
<#--${属性名.子属性}-->
<h2>${user.name}</h2>
<#--${xxx!默认值}设置当xxx为空或者不存在时显示对应的默认值-->
<h2>${user.address!'未登记地址'}</h2>
<#--利用?string()内置函数进行格式化输出-->
<h2>${user.salary?string('¥0.00')}</h2>
<h2>${user.birthday?string('yyyy年MM月dd日')}</h2>
二、Freemarker判断与循环
1.分支判断
<#if 条件1>
条件1成立执行代码
<#elseif 条件2>
条件2成立执行代码
<#elseif 条件3>
条件3成立执行代码
<#else>
</#if>
代码示例如下:
<#if user.salary <= 1000> <#--user == null-->
<h3>低收入人群需要政策补贴</h3>
<#elseif (user.salary > 1000 && user.salary < 10000)>
<h3>中等收入人群鼓励创业</h3>
<#else>
<h3>高收入人群要多做公益</h3>
</#if>
<!-- ??代表属性是否存在,对象存在返回true,不存在返回false -->
<#if manager??>
manager已存在
<#else >
manager不存在
</#if>
<#--freemarker三目运算符-->
${(user.salary<1500)?string("低收入人群" , "高收入人群")}
三、list循环迭代
<#list users as u>
<li>{u.name}</li>
</#list>
<ul>
<#--#list 数据源 as 迭代变量-->
<#list users as u>
<li>${u_index + 1}-${u.username}-${u.name}</li>
</#list>
</ul>
四、Include子页面
通过Include可以把写好的页面引入到当前页面
五、内置函数

网友评论