數據模型是對象時如何利用freemarker生成靜態文件

前面一篇文章數據模板是個map時展示瞭如何生成靜態文件,如果數據模板裏面的數據是一個對象時該如何寫呢?

下面就展示一下這種情況下的代碼是如何寫的;

package com.neteae.web.test;

import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.Writer;
import java.util.HashMap;
import java.util.Map;

import com.netease.web.model.User;

import freemarker.template.Configuration;
import freemarker.template.Template;

public class FreemarkerModel {
	public static void main(String args[]){
		User user = new User();
		user.setName("小謝");
		Map<String,User> root = new HashMap<String,User>();
		root.put("user", user);
		Configuration cfg =  new Configuration();//Configuration讀取模板文件
		try {
			cfg.setDirectoryForTemplateLoading(new File("WebContent/WEB-INF/ftl/test"));//制定模板文件的目錄
		    Template template = cfg.getTemplate("freemarkermodel.ftl");//Template模板
		    Writer writer = new FileWriter(new File("freemarkermodel.html"));//產生的文件
		   	template.process(root, writer);//將模板和數據產生文件
		   	writer.flush();//將數據從緩存中清空;
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

}

User對象:

package com.netease.web.model;

public class User {
	public String name;

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}
}

模板文件:

<html>
<head>
<title>測試下freemarker模板</title>
</head>

<body>
你好,${user.name} 

</body>

</html>

執行程序:




發佈了50 篇原創文章 · 獲贊 13 · 訪問量 16萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章