java 產生靜態頁面——Freemarker執行個體教程

來源:互聯網
上載者:User

目錄(?)[-] 一Freemarker的介紹 二Freemarker的準備條件 三Freemarker產生靜態頁面的原理 四Freemarker提供的標籤 五Freemarker自訂標籤 原創作品,允許轉載,轉載時請務必以超連結形式標明文章  原始出處 、作者資訊和本人聲明。否則將追究法律責任。
作者: 永恒の_☆ 地址: http://blog.csdn.net/chenghui0317/article/details/7832474 一、Freemarker的介紹

    Freemarker 是一款模板引擎,是一種基於模版產生靜態檔案的通用 工具,它是為java程式員提供的一個開發包,或者說是一個類庫,它不是面向終端使用者的,而是為程式員提供了一款可以嵌入他們開發產品的應用程式。

    Freemarker 是使用純java編寫的,為了提高頁面的訪問速度,需要把頁面靜態化, 那麼Freemarker就是被用來產生html頁面。

    到目前為止,Freemarker使用越來越廣泛,不光光只是它強大的產生技術,而且它能夠與spring進行很好的整合。

    現在開始一層層揭開它的神秘面紗。。


二、Freemarker的準備條件

    freemarker.2.3.16.jar   下載地址:http://download.csdn.net/detail/ch656409110/4494067 (這個jar包其實在struts2裡面)


三、Freemarker產生靜態頁面的原理

    Freemarker 產生靜態頁面,首先需要使用自己定義的模板頁面,這個模板頁面可以是最最普通的html,也可以是嵌套freemarker中的 取值運算式, 標籤或者自訂標籤等等,然後後台讀取這個模板頁面,解析其中的標籤完成相對應的操作, 然後採用索引值對的方式傳遞參數替換模板中的的取值運算式,做完之後 根據配置的路徑產生一個新的html頁面, 以達到靜態化訪問的目的。


四、Freemarker提供的標籤

Freemarker提供了很多有用 常用的標籤,Freemarker標籤都是<#標籤名稱>這樣子命名的,${value} 表示輸出變數名的內容 ,具體如下:

1、list:該標籤主要是進行迭代伺服器端傳遞過來的List集合,比如: [html]  view plain copy print ? <#list nameList as names>       ${names}    </#list>  

name是list迴圈的時候取的一個迴圈變數,freemarker在解析list標籤的時候,等價於:

[java]  view plain copy print ? for (String names : nameList) {       System.out.println(names);   }   2、 if:    該標籤主要是做if判斷用的,比如:

[html]  view plain copy print ? <#if (names=="陳靖仇")>    他的武器是: 十五~~   </#if>   這個是條件判斷標籤,要注意的是條件等式必須用括弧括起來, 等價於:

[java]  view plain copy print ? if(names.equals("陳靖仇")){       System.out.println("他的武器是: 十五~~");   }  
3、 include:該標籤用於匯入檔案用的。

[html]  view plain copy print ? <#include "include.html"/>  

這個匯入標籤非常好用,特別是頁面的重用。

另外在靜態檔案中可以使用${} 擷取值,取值方式和el運算式一樣,非常方便。

下面舉個例子(static.html):

[html]  view plain copy print ? <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">   <html>   <head>   <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">  

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.