freemaker 初探

插值

${......}freemaker將會輸出真實的值替換花括號裏面的表達式,這樣的表達式被稱爲interpolations 插值

ftl tags標籤(freemaker模板的語言標籤)

ftl標籤與HTML標籤有點相似,但是他們是freemaker的指令而且是不會輸出的東西。一般以#開頭,用戶自定義的標籤用@代替#

註釋

<#--     註釋內容-->

directives  指令

就是ftl標籤,這些指令在 HTML 的標籤(如 <table> 和</table> )和 HTML 元素(如 table 元素)中的關係是相同的

常用指令

if指令

<html>
<head>
<title>Welcome!</title>
</head>
<body>
<h1>
Welcome ${user}<#if user == "Big Joe">, our beloved<#-- 如果user等於Big Joe 才輸出後面的語句-->
leader</#if>!
</h1>
<p>Our latest product:
<a href="${latestProduct.url}">${latestProduct.name}</a>!
</body>
</html> 

list指令

<p>We have these animals:
<table border=1>
<tr><th>Name<th>Price
<#list animals as being>
<tr><td>${being.name}<td>${being.price} Euros
</#list>
</table>

include指令

使用 include 指令,我們可以在當前的模板中插入其他文件的內容。
假設要在一些頁面中顯示版權聲明的信息。那麼可以創建一個文件來單獨包含版權聲明,
之後在需要它的地方插入即可。比方說,我們可以將版權信息單獨存放在頁面文件
copyright_footer.html 中。
當需要用到這個文件時,可以使用 include 指令來實現插入。
輸出的內容爲:
<p>And BTW we have these fruits:
<ul>
<#list whatnot.fruits as fruit>
<li>${fruit}
</#list>
<ul>
<hr>
<i>
Copyright (c) 2000 <a href="http://www.acmee.com">Acmee
Inc</a>,
<br>
All Rights Reserved.
</i> 
<html>
<head>
<title>Test page</title>
</head>
<body>
<h1>Test page</h1>
<p>Blah blah...
<#include "/copyright_footer.html">
</body>
</html>

聯合使用指令

在頁面也可以多次使用指令,而且指令間可以相互嵌套,正如在 HTML 元素中嵌套使用標籤一樣。

處理不存在的變量

<h1>Welcome ${user!"Anonymous"}!</h1>   通過!和一個默認值來避免變量丟失這種情況
<#if user??><h1>Welcome ${user}!</h1></#if> 通過??詢問變量是否存在,與if指令結合使用判斷是否輸出

發佈了41 篇原創文章 · 獲贊 6 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章