java工程中使用freemarker例子

新建java project,引入freemarker.jar, 本工程是用的版本:freemarker-2.3.20 版本java

java工程目錄以下:
app

test.ftl文件spa

HTML代碼code

1 name : ${name}  
2 age : ${age}  

Java代碼blog

 1 package com.freemarker;
 2 
 3 import java.io.File;
 4 import java.io.IOException;
 5 import java.io.OutputStreamWriter;
 6 import java.io.Writer;
 7 import java.util.HashMap;
 8 import java.util.Map;
 9 
10 import freemarker.template.Configuration;
11 import freemarker.template.Template;
12 import freemarker.template.TemplateException;
13 
14 public class Test {
15     public static void main(String[] args) throws IOException, TemplateException {
16 
17         //1.建立配置實例Cofiguration
18         Configuration cfg = new Configuration();
19 
20         //2.設置模板文件目錄
21         //(1)src目錄下的目錄(template在src下)
22         //cfg.setDirectoryForTemplateLoading(new File("src/template"));
23         //(2)完整路徑(template在src下)
24         //cfg.setDirectoryForTemplateLoading(new File(
25         //      "D:/cpic-env/workspace/javaFreemarker/src/template"));
26         //cfg.setDirectoryForTemplateLoading(new File("src/template"));
27         //(3)工程目錄下的目錄(template/main在工程下)--推薦
28         cfg.setDirectoryForTemplateLoading(new File("template/main"));
29         //cfg.setObjectWrapper(new DefaultObjectWrapper());
30         //獲取模板(template)
31         Template template = cfg.getTemplate("test.ftl");
32         //創建數據模型(Map)
33         Map<String, String> root = new HashMap<String, String>();
34         root.put("name", "cxl");
35         root.put("age", "25");
36         //獲取輸出流(指定到控制檯(標準輸出))
37         Writer out = new OutputStreamWriter(System.out);
38         //StringWriter out = new StringWriter();
39         //System.out.println(out.toString());
40         //數據與模板合併(數據+模板=輸出)
41         template.process(root, out);
42         out.flush();
43     }
44 }

運行結果:get

java代碼it

name : cxl  
age : 25  
相關文章
相關標籤/搜索