本次将写两篇文章,第一篇是freemark基础知识,第二篇freemark模板解析,第三篇是代码生成。freemark是代码生成的基础。
freemarker基础知识:
1 注释:<#--注释 -->
2 指令:包括用户指令和系统内建指令。用户指令以@开头,系统内建指令以#开头。
系统内建指令:
if指令:
<#assign age = 30>
<#if age < 10>
儿童
<#elseif age < 18>
小伙
<#elseif age < 40>
成年
<#else>
中老年
</#if>
switch case default break指令:
<#assign day = 8>
<#switch day>
<#case 1> 星期一<#break>
<#case 2> 星期二<#break>
<#case 3> 星期三<#break>
<#case 4> 星期四<#break>
<#case 5> 星期五<#break>
<#case 6> 星期六<#break>
<#case 7> 星期七<#break>
<#default>error
</#switch>
list指令:
<#assign days = ["星期一","星期二","星期三","星期四","星期五","星期六","星期七"]>
<#list days as x>
${x_index+1}.${x}
<#if x_has_next>,</#if>
</#list>
结果:1.星期一,2.星期二,3.星期三,4.星期四,5.星期五,6.星期六,7.星期七
import 指令(导入指定页面所有变量):
<#import "billboard.ftl" as bd>
<@bd.billboard/>
macro指令(自定义指令):
<#macro inbody>
<#macro>