freemarker 语法入门笔记

来源:互联网 发布:思科设备端口oid 编辑:程序博客网 时间:2024/05/07 16:35

1、注释:

<#-- -->

2、设置值

<#-- assign 设置值,此时answer=42 --><#assign answer=42/> <#assign member = (action.getMemberInfo())!""/><#assign person={"name":"Tom","age":20,"address":"上海"} >

3、取值:
注:这里列出来的都是我用到过的。

${data}${data.id}<#-- 直接输出文案  并没有什么用 -->${"我的文件保存在C:\\盘"}<br>${'我名字是\"annlee\"'}<#-- num存在则显示num,num不存在则显示0 -->${(num)!"0"} <#-- num存在则显示num,num不存在则不显示 -->${(num)!}<#-- 截取字符串 --><#assign content="content"/> ${content[0..4]} <#-- 输出 conte --><#-- 数值格式化输出 --><#assign answer=42/> ${answer} <#-- 42 -->${answer?string} <#-- 42  --> ${answer?string.number} <#-- 42  --> ${answer?string.currency} <#-- ¥42.00  --> ${answer?string.percent} <#-- 4,200%  --> ${answer}<#-- 42  --> <#--  数字格式化插值  --><#-- Mx 小数部分最大x位     mx 小数部分最小x位--><#assign x=3.1415><#assign y=4>#{x;M2} <br> <#-- 3.14  -->#{y;M2} <br> <#-- 4  -->#{x;m2} <br> <#-- 3.14  -->#{y;m2} <br> <#-- 4.00  -->#{x;m1M2} <br> <#-- 3.14  -->#{y;m1M2} <br> <#-- 4.0  --><#-- 类似三目运算 --><#assign foo=true/>${foo?string("yes","no")}<#-- 时间格式转换 -->${date?string("yyyy-MM-dd HH:mm:ss")}<br>${date?string("EEE, MMM d, yy")}<br>${date?string("EEEE, MMMM dd, yyyy, hh:mm:ss:SSS a '('zzz')'")}<br>

自定义标签:

<@xxx>例如:-template(文件夹)    --base(文件夹)        ---baseUrl.ftlbaseUrl.ftl 内容如下:------<#macro static>http://www.xxx.com</#macro>------那么你可以在其他.ftl中引入该文件,并使用baseUrl.ftl定义的标签<#import "/base/baseUrl.ftl" as baseUrl><#-- 输出http://www.xxx.com --><@baseUrl.static>

引入文件:

<#-- import 引入的是宏定义,不会对页面产生渲染 --><#import "/base/baseUrl.ftl" as baseUrl><#-- include 引入的是视图内容,会渲染页面 --><#include "/base/baseUrl.ftl"/>

if else if:

<#if condition>...<#elseif condition>...<#elseif condition>...<#else> ...</#if><#-- 例如: --><#if user??>    <#-- user 存在 --><#elseif student??>    <#-- user 不存在 student 存在 --><#else>    <#-- user 和 student 都不存在 --></#if><#-- 判断是否存在 --><#if data?exists>...</#if><#-- 判断是否存在 --><#if data??>...</#if>

switch case:

<#switch value><#case refValue>...<#break><#case refValue>...<#break><#default>...</#switch>

list 遍历

<#list myList as data>    ${data.xxx}</#list><#-- list 与 if else 嵌套使用 --><#list myList as data>    <#if item_has_next>${data},    <#else>end.    </#if>                         </#list><#-- 使用item_has_next遍历, break退出,但是最后一个没有next不会输出,所以这种遍历有问题 --><#list myList as item>    <#if item_has_next>        end.<#break/>    </#if>                         </#list><#-- list去前6 --><#list list?chunk(6) as row>...</#list><#-- list.size > 0 --><#if list?size gt 0>...</#list>

map 遍历:

<#list myMap?keys as key>    ${key}    ${myMap[key]}</#list>
0 0
原创粉丝点击