`

Freemark的使用

 
阅读更多

freemark 解释

 

package com.page.freemark;

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import com.page.vo.StudentInfo;

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

/**
 * 
 * @author LiuQing
 * @version 1.0
 * @date 2014-6-9
 *
 */
public class FreeMarkHelloWorld {

	public static void main(String[] args) throws IOException, TemplateException {

		Configuration cfg = new Configuration();
		cfg.setDefaultEncoding("UTF-8");
		//setting Dicectory for template 
		cfg.setDirectoryForTemplateLoading(new File("f:\\umn-freemark"));
		//读取template
		Template template = cfg.getTemplate("hello.ftl");
		
		//传入值
		Map<String,Object> dataModel = new HashMap<String,Object>();
		dataModel.put("hello", "LiuQing");
		List<StudentInfo> infoes = new ArrayList<StudentInfo>();
		for (int i = 0; i < 10; i++) {
			
		StudentInfo info = new StudentInfo();
		info.setName(" qing " + i);
		info.setSex("male" + i);
		info.setAge(i);
		infoes.add(info);
		}
		dataModel.put("students", infoes);
		FileOutputStream outputStream = new FileOutputStream("f:\\test.html");
		PrintWriter out = new PrintWriter(outputStream);
		template.process(dataModel, out);
		out.flush();
		out.close();
		outputStream.close();
		
	}

}

 

模板文件

<html>
    <head></head>
	<body>
	     My name is ${hello}
		 <table width="100" border="1" >
		 <#list students as m>
		    <tr>
			     <td>${m.name}</td>
				 <td>${m.sex}</td>
				 <td>${m.age}</td>
			</tr>
		 </#list>
	     </table>
	</body>
</html>

 

生成后的文件

 

<html>
    <head></head>
	<body>
	     My name is LiuQing
		 <table width="100" border="1" >
		    <tr>
			     <td> qing 0</td>
				 <td>male0</td>
				 <td>0</td>
			</tr>
		    <tr>
			     <td> qing 1</td>
				 <td>male1</td>
				 <td>1</td>
			</tr>
		    <tr>
			     <td> qing 2</td>
				 <td>male2</td>
				 <td>2</td>
			</tr>
		    <tr>
			     <td> qing 3</td>
				 <td>male3</td>
				 <td>3</td>
			</tr>
		    <tr>
			     <td> qing 4</td>
				 <td>male4</td>
				 <td>4</td>
			</tr>
		    <tr>
			     <td> qing 5</td>
				 <td>male5</td>
				 <td>5</td>
			</tr>
		    <tr>
			     <td> qing 6</td>
				 <td>male6</td>
				 <td>6</td>
			</tr>
		    <tr>
			     <td> qing 7</td>
				 <td>male7</td>
				 <td>7</td>
			</tr>
		    <tr>
			     <td> qing 8</td>
				 <td>male8</td>
				 <td>8</td>
			</tr>
		    <tr>
			     <td> qing 9</td>
				 <td>male9</td>
				 <td>9</td>
			</tr>
	     </table>
	</body>
</html>

 

package com.page.vo;

public class StudentInfo {
	
	private String name;
	
	private String sex;
	
	private int age;

	public String getName() {
		return name;
	}

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

	public String getSex() {
		return sex;
	}

	public void setSex(String sex) {
		this.sex = sex;
	}

	public int getAge() {
		return age;
	}

	public void setAge(int age) {
		this.age = age;
	}
	

}

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics