Freemarker

Freemarker

  FreeMarker 是一個用 Java 語言編寫的模板引擎,它基於模板來生成輸出各種文件。它不僅可以用作表現層的實現技術,而且還可以用於生成 XML,html 或 Java 等。

在這裏插入圖片描述
  創建freemarker-test模塊,引入依賴

  freemarker-test/pom.xml:

<dependency>
    <groupId>org.freemarker</groupId>
    <artifactId>freemarker</artifactId>
    <version>2.3.26-incubating</version>
</dependency>

  創建一個簡單的創建模板文件freemarker-test/src/main/resources/ftl/hello.ftl:

<!DOCTYPE html>
<html lang="zh-cn">
<head>
    <meta charset="UTF-8">
    <title>FreeMarker示例</title>
    <meta name="Copyright" content="All Rights Reserved"/>
</head>
<body>
    <#--我只是一個註釋,我不會有任何輸出  -->
    <h1>${name},你好。${message}!</h1>
</body>
</html>

  編碼步驟

  第一步:創建一個 Configuration 對象,直接 new 一個對象,構造方法的參數就是 freemarker的版本號。

  第二步:設置模板文件加載的基礎路徑。

  第三步:設置模板文件使用的字符集。(一般就是 UTF-8)

  第四步:加載一個模板文件產生模板對象。

  第五步:創建一個模板使用的數據模型,可以是 pojo 也可以是 map,一般是 Map。

  第六步:調用模板對象的 process 方法填充模版,輸出文件。

  在freemarker-test/src/main/test/cn.itcast.freemarker包下,編寫測試類FreeMarkerTest.java:

@Test
public void test() throws Exception{
    /** 創建配置信息對象 */
    Configuration configuration = new 
Configuration(Configuration.VERSION_2_3_26);
    /** 設置模板文件加載的基礎路徑 */
    configuration.setClassForTemplateLoading(FreeMarker01.class, "/ftl");
    /** 設置默認編碼 */
configuration.setDefaultEncoding("UTF-8");
    /** 加載模板文件,產生模板對象 */
    Template template = configuration.getTemplate("hello.ftl");
    /** 定義數據模型 */
    Map<String,Object> dataModel = new HashMap<>();
    dataModel.put("name", "小劉");
    dataModel.put("message", "歡迎來到freemarker!");
    /** 填充模板,輸出文件 */
    template.process(dataModel,
      new FileWriter("C:\\Users\\Administrator\\Desktop\\html\\hello.html"));
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章