java工程中使用freemarker例子


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

java工程目錄如下:

test.ftl文件

HTML代碼

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

Java代碼

 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 }

運行結果:

java代碼

name : cxl  
age : 25  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM