【FreeMarker】04 指令
1、Assign自定义变量质量
<#assign var = 100 >
${var}

定义多个变量
<#assign var2 = "string" arr = ["元素1", "元素2", "元素3", "元素4", "元素5"] >
${var2}
<br>
<#list arr as a>
${a} -
</#list>

2、判断逻辑
<h3>分支判断指令</h3>
<#assign var3 = false>
<#if var3 >
<p>为TRUE才会显示的内容</p>
</#if>
<#if !var3 >
<p>为TRUE才会显示的内容222</p>
</#if>

多分支:
<#assign var4 = 100>
<#if var4 != 100>
<#-- OPT1 -->
<#elseif var4 == 90>
<#-- OPT2 -->
<#elseif var4 == 80>
<#-- OPT3 -->
<#else>
<#-- OPT4 -->
</#if>
判空处理:
<#-- 还支持判空简写处理 -->
<#if var5?? > <#-- 对不存在的var5进行空判断 有则执行,无则不执行 -->
</#if>
然后list还支持else判断,如果队列存在,但是没有元素,就会执行else的内容
<#list map?values as value >
<p>值 -> ${value}</p>
<#else >
<#-- 如果没有元素,执行ELSE的内容 -->
</#list>
自定义指令Marco:
<#macro timesTable> <#-- 乘法表 -->
<#list 1..9 as i>
<#list 1..i as j>
${j} * ${i} = ${i*j}
</#list>
<br>
</#list>
</#macro>
<@timesTable />
<hr>
<#macro timesTable2 param> <#-- 乘法表2 可以注入参数动态渲染-->
<#list 1..param as i>
<#list 1..i as j>
${j} * ${i} = ${i*j}
</#list>
<br>
</#list>
</#macro>

文本嵌入指令Nested:
自定义指令使用时插入文本字符,需要使用Nested指令实现
<#macro text >
<p>
这是写好的指令文本1
<#nested >
这是写好的指令文本2
</p>
</#macro>
<@text></@text>
<@text>这是插入的文本</@text>
Import导入指令:
<#import "fmt-04.ftl" as fmt04> <#-- 导入模板文件,并且别名 --> <@fmt04.text>调用成功</@fmt04.text> <#-- 调用该模板文件内的自定义指令 -->
或者使用Include导入HTML页面:
<#include "Hello.html">

浙公网安备 33010602011771号