(三) Freemarker 常用指令

2021-08-09 20:44:21 字數 3870 閱讀 5392

一 常用指令

1. assign: 自定義變數

2. if else :流程判斷指令

3. list: 變數sequence 

4. marco: 巨集指令(自定義方法)

5. import: 引入命名空間

6. include:  嵌入檔案指令

二 指令詳解

【1. assign 指令】: 自定義變數

1.1   自定義變數:

<#assign hw = "hello,world"/>

1.2  呼叫:用$ 呼叫

hw = $

【2. if 指令】: 判斷語句, if 相關的指令中不需要用 $ 號,直接可以從map 中獲取元素

2.1 if else 組合:

<#if status == 0>

status is 0

<#else>

status is not 0

2.2 if elseif else 組合:

<#if status ==0 >

status = 0

<#elseif status ==1>

status = 1 

<#else>

status != 0 && status !=1

【3. list 指令】:list可以遍歷sequence 型別的資料, 即 陣列, list, set

1.1 foreach:

<#list citys as city>

$ --> $

3.2   獲取遍歷索引: 變數名_index

<#list names as name>

$ --> $

【4. macro 巨集指令】, 類似於自定義方法

1. 定義巨集指令(定義方法)

<#macro sayhello name1 name2>

hello, $ and $

2. 呼叫巨集指令(呼叫方法)

<@sayhello name1="zhangsan" name2="lisi"/>

3. nested 指令: 代替呼叫巨集指令時標籤對之間包裹的內容

<#macro hw>

hello,<#nested>

<@hw>zhangsan,lisi,wangwu,zhaoliu

【5. import 指令】: 引入命名空間:

1. 引入命名空間:<#import "templateutil.ftl" as util />

2. 呼叫響應方法:<@util.printemp employee/>

3. 呼叫變數:$

修改變數:<#assign filename = "command.ftl" in util />

$【6. include 】嵌入檔案:

1. 執行步驟:

1. 合併檔案: 將被嵌入的檔案的內容全部匯入當前 檔案

2. 解析: 然後用freemarker 語法解析嵌入的檔案片段

2. 示例:以下是檔案 hello.ftl 的文字內容:

<#include "include.txt" />

三 測試結果:

[html]view plain

copy

二 指令詳解  

【1. assign 指令】: 自定義變數  

1.1   自定義變數:  

<

#assign 

hw= 

"hello,world"

/>

1.2  呼叫:用$ 呼叫  

hw= $  

【2. if 指令】: 判斷語句, if 相關的指令中不需要用 $ 號,直接可以從map 中獲取元素  

2.1 if else 組合:  

<

#if 

status

== 0

>

status is 0  

<

#else

>

status is not 0  

#if>

2.2 if elseif else 組合:  

<

#if 

status

==0 

>

status= 0

<

#elseif 

status

==1>

status= 1

<

#else

>

status != 0 && status !=1  

#if>

【3. list 指令】:list可以遍歷sequence 型別的資料, 即 陣列, list, set  

1.1 foreach:  

<

#list citys as city

>

$ -->

$  #list

>

3.2   獲取遍歷索引: 變數名_index  

<

#list names as name

>

$ -->

$  #list

>

【4. macro 巨集指令】, 類似於自定義方法  

1. 定義巨集指令(定義方法)  

<

#macro sayhello name1 name2

>

hello, $ and $  

#macro

>

2. 呼叫巨集指令(呼叫方法)  

<

@sayhello 

name1

="zhangsan"

name2

="lisi"

/>

3. nested 指令: 代替呼叫巨集指令時標籤對之間包裹的內容  

<

#macro hw

>

hello,<

#nested

>

#macro

>

<

@hw>

zhangsan,lisi,wangwu,zhaoliu

@hw>

【5. import 指令】: 引入命名空間:  

1. 引入命名空間:<

#import "templateutil.ftl" as util 

/>

2. 呼叫響應方法:<

@util.printemp employee

/>

3. 呼叫變數:$  

修改變數:<

#assign 

filename

= "command.ftl"

in util 

/>

$  【6. include 】嵌入檔案:  

1. 執行步驟:  

1. 合併檔案: 將被嵌入的檔案的內容全部匯入當前 檔案  

2. 解析: 然後用freemarker 語法解析嵌入的檔案片段  

2. 示例:以下是檔案 hello.ftl 的文字內容:  

<

#include "include.txt" 

/>

Freemarker常用指令

下面是一些freemarker常用的指令,方便自己記憶 if x 1 x is 1 if y 1 and y is 1 too else but y is not switch value case refvalue1 break case refvalue2 break case refvalue...

freemarker 自定義指令

自定義指令可以使用,marco指令來進行定義 巨集 是有乙個變數名的模板片段,在模板中使用巨集作為自定義指令,這樣就能供其他頁面使用。hello joe macro 指令只是用來建立巨集變數,自身不輸出任何內容,所以就會有乙個名為 greet 的變數。在 macro greet 和 之間的內容 稱為...

Freemarker自定義指令

在做乙個cms 時,要列出 欄目,比如有新聞,科技,體育,財經等欄目。欄目內容存放在資料庫中。沒有迴圈變數 user def dir exp param1 val1 param2 val2 paramn valn 有迴圈變數 user def dir exp param1 val1 param2 v...