JAVA模版引擎Freemarker常用標籤(一)
1. if指令
這是一個典型的分支控制指令,該指令的作用完全類似於Java語言中的if,if指令的語法格式如下:<#if condition>...
<#elseif condition>...
<#elseif condition>...
<#else> ...
</#if>
例子如下:
<#assign age=23>
<#if (age>60)>老年人
<#elseif (age>40)>中年人
<#elseif (age>20)>青年人
<#else> 少年人
</#if>
輸出結果是:青年人
上面的程式碼中的邏輯表示式用括號括起來主要是因為裡面有>符號,由於
<#if animals.python.price < animals.elephant.price>
Pythons are cheaper than elephants today.
<#else>
Pythons are not cheaper than elephants today.
</#if>
2、 switch , case , default , break指令
這些指令顯然是分支指令,作用類似於Java的switch語句,switch指令的語法結構如下:<#switch value>
<#case refValue>...<#break>
<#case refValue>...<#break>
<#default>...
</#switch>
3、 list, break指令
list指令是一個迭代輸出指令,用於迭代輸出資料模型中的集合,list指令的語法格式如下:<#list sequence as item>
...
</#list>
上面的語法格式中,sequence就是一個集合物件,也可以是一個表示式,但該表示式將返回一個集合物件,而item是一個任意的名字,就是被迭代輸出的集合元素.此外,迭代集合物件時,還包含兩個特殊的迴圈變數:
item_index:當前變數的索引值
item_has_next:是否存在下一個物件
也可以使用<#break>指令跳出迭代
例子如下:
<#list ["星期一", "星期二", "星期三", "星期四", "星期五", "星期六", "星期天"] as x>
${x_index + 1}.${x}<#if x_has_next>,</if>
<#if x="星期四"><#break></#if>
</#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>輸出為:
<p>We have these animals:
<table border=1>
<tr><th>Name<th>Price
<tr><td>mouse<td>50 Euros
<tr><td>elephant<td>5000 Euros
<tr><td>python<td>4999 Euros
</table>
4、include指令
include指令的作用類似於JSP的包含指令,用於包含指定頁.include指令的語法格式如下:<#include filename [options]>
在上面的語法格式中,兩個引數的解釋如下:
filename:該引數指定被包含的模板檔案
options:該引數可以省略,指定包含時的選項,包含encoding和parse兩個選項,其中encoding指定包含頁面時所用的解碼集,而parse指定被包含檔案是否作為FTL檔案來解析,如果省略了parse選項值,則該選項預設是true.
<html>
<head>
<title>Test page</title>
</head>
<body>
<h1>Test page</h1>
<p>Blah blah...
<#include "/copyright_footer.html">
</body>
</html>
5、 import指令
該指令用於匯入FreeMarker模板中的所有變數,並將該變數放置在指定的Map物件中,import指令的語法格式如下:<#import "/lib/common.ftl" as com>
上面的程式碼將匯入/lib/common.ftl模板檔案中的所有變數,將這些變數放置在一個名為com的Map物件中.
- 建立庫
<#macro copyright date>
<p>Copyright (C) ${date} Julia Smith. All rights reserved.
<br>Email: ${mail}</p>
</#macro>
<#assign mail = "[email protected]">Ø 使用import指令匯入庫到模板中,Freemarker會為匯入的庫建立新的名字空間,並可以通過import指令中指定的雜湊變數訪問庫中的變數:
<#import "/lib/my_test.ftl" as my>
<#assign mail="[email protected]">
<@my.copyrightdate="1999-2002"/>
${my.mail}
${mail}輸出結果:
<p>Copyright (C) 1999-2002 Julia Smith. All rights reserved.
<br>Email: [email protected]</p>
[email protected]
[email protected]可以看到例子中使用的兩個同名變數並沒有衝突,因為它們位於不同的名字空間
l 可以使用assign指令在匯入的名字空間中建立或替代變數,下面是一個例子:
<#import "/lib/my_test.ftl" as my>
${my.mail}
<#assign mail="[email protected]" in my>
${my.mail}l 輸出結果:
[email protected]
[email protected]l 資料模型中的變數任何地方都可見,也包括不同的名字空間,下面是修改的庫:
<#macro copyright date>
<p>Copyright (C) ${date} ${user}. All rights reserved.</p>
</#macro>
<#assign mail = "${user}@acme.com">l 假設資料模型中的user變數的值是Fred,則下面的程式碼:
<#import "/lib/my_test.ftl" as my>
<@my.copyright date="1999-2002"/>
${my.mail}l 輸出結果:
<p>Copyright (C) 1999-2002 Fred. All rights reserved.</p>[email protected]
相關推薦
JAVA模版引擎Freemarker常用標籤(一)
1. if指令 這是一個典型的分支控制指令,該指令的作用完全類似於Java語言中的if,if指令的語法格式如下: <#if condition>... <#elseif condition>... <#elseif condition>
Java模板引擎FreeMarker系列之十freemarker與jquery標誌符衝突怎麼處理
freemarker與jquery標誌符衝突怎麼辦?我們用freemarker做展示層,freemarker語法預設採用<# ></>尖括號形式,為了與html程式碼清晰分離,freemarker還提供[ ]方括號形式,只需配置一下,我們就是採用[]的
Java web前端——HTML常用標籤
html簡介 1.1 html概述 html全稱:Hyper Text Markup Language(超文字標記語言) 超級文字標記語言是標準通用標記語言(SGML)下的一個應用,也是一種規範,一種標準,它通過標記符號來標記要顯示的網頁中的各個部分
FreeMarker常用標籤介紹
FreeMarker標籤使用 一、FreeMarker模板檔案主要有4個部分組成 1、文字,直接輸出的部分 2、註釋,即<#--...-->格式不會輸出 3、插值(Interpolation):即${..}或者#{..}格式的部分,將使用資料模型中的部分替代輸出 4、FTL指
java基礎基礎總結----- 常用DOS命令(一)
擴展 ear mkdir jar文件 方法 常用 directory 加載 rect 常用DOS命令 dir(directory):列出當前目錄下的文件以及文件夾 mkdir (make directory) : 創建目錄 rd (remove directory):
Java模版方法的另一種實現
pan strategy 全部 相關 必須 rod () 抽象方法 rate 面試荔枝FM杯具,遂死磕AQS途中發現一個有趣的模版用法,記下來。 模版方法是很重要的設計模式,在數據訪問層、眾多的插件接口都可見其影子,一般的實現都是在模版中定義抽象方法並使用其方法進行
java前端頁面的各種常用標籤:
C標籤庫: <c:forEach>標籤有兩種使用方式: <c:forEach var="e" items="${leaveMsgList}" varStatus="i"> <tr>
[前端]全面探索 FreeMarker 模版引擎的擴充套件性
******************************************************************************* *******************************************************
全面探索 FreeMarker 模版引擎的擴充套件性
FreeMarker 模版引擎簡介 FreeMarker 是一個採用 Java 開發的模版引擎,是一個基於模版生成文字的通用工具。 FreeMarker 被設計用來生成 HTML Web 頁面,特別是基於 MVC 模式的應用程式。雖然 FreeMarker 具有一些程式設計的能力,但通常由 Ja
Java之利用Freemarker模板引擎實現程式碼生成器,提高效率
https://blog.csdn.net/huangwenyi1010/article/details/71249258 java模板引擎freemarker程式碼生成器 更多 個人分類: 一步一
一、HTML的簡單介紹及常用標籤的介紹
(一)、HTML 的簡單介紹 定義:HTML:HyperText Markup language(超文字標記語言),HTML 不是一門程式語言,而是標記語言。 作用:web 瀏覽器用 html 來顯示網頁 當前的標準:當前的 html 遵循 HTML5 標準
Freemarker模板引擎的使用總結(一)
1. FreeMarker模板引擎的使用: 模板 + 資料模型 = 輸出 1) FreeMarker模板:一個普通文字檔案,其中使用了一些FreeMarker的特別標記。 2) 資料模型:存放了資料的資料結構,通常是一個Hash儲存結構(如:HashMap)
Java學習之路0714(一)(markDown標籤的簡單使用,Java環境配置、Java基本資料型別))
1、markdown標籤的簡單使用 #的使用 *的使用 >的使用 =的使用 -的使用 圖片的新增 標題#的使用,#表示一級標題,##表示是二級標題,標題內容寫在#後面 這是一級標題 這是二級標題 這是三級標題
freemarker的常用標籤
freemarker list (長度,遍歷,下標,巢狀,排序) 1. freemarker獲取list的size : Java ArrayList<String> list = new ArrayList<String>(); Fre
HTML常用標籤及其對應的屬性【一】
基本結構標籤: <HTML>,表示該檔案為HTML檔案 <HEAD>,包含檔案的標題,使用的指令碼,樣式定義等 <TITLE>---</TITLE>,包含檔案的標題,標題出現在瀏覽器標題欄中 </HEAD>,&l
HTML常用標籤屬性(一)
HTML 常用頭標籤屬性 <! DOCTYPE HTML>:定義選用的解釋語言 <html>:整個頁面的內容,只能有一個 <head>:頭部標籤,在<html
JAVA Web 基於 c:forEach 標籤的分頁功能(程式碼十分簡短,一看便懂,可直接使用)
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ page language="java" import="java.util
實現一個程式碼自動生成(一):模板引擎Freemarker
目錄 前言 模板引擎FreeMarker 模板引擎是什麼? FreeMarker是什麼? FreeMarker如何使用? 加入依賴 建立Configuratio
java 中幾種常用數據結構
初學 ble log app 使用 blog list 好的 sort Java中有幾種常用的數據結構,主要分為Collection和map兩個主要接口(接口只提供方法,並不提供實現),而程序中最終使用的數據結構是繼承自這些接口的數據結構類。 一、幾個常用類的區別 1.
Java中Calendar.DAY_OF_WEEK需要減一的原因
lsp spa 新手 註意 規則 ava 第幾天 返回 區分 Java中對日期的處理需要用到Calendar類,其中有幾個方法在使用時需要新手註意。 1. 在獲取月份時,Calendar.MONTH + 1 的原因(Java中Calendar.MONTH返回的數值其實是當前