`

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;
	}
	

}

 

 

分享到:
评论

相关推荐

    freemark使用的简单demo

    在本“freemarker使用的简单demo”中,我们将深入探讨如何设置和运行一个基础的Freemarker应用。 1. **Freemarker基本概念** - **模板(Template)**: Freemarker的核心是模板,它是纯文本文件,其中包含静态内容...

    Freemark模板使用

    本教程适用于初学者,旨在快速引导你掌握Freemark的基本使用方法。我们将通过几个关键步骤来理解并实践如何在Java环境中配置和使用Freemark。 首先,你需要在项目中引入Freemark的库文件。在这个例子中,我们导入了...

    freemark资料及eclipse的freemark插件

    标题中的"freemark资料及eclipse的freemark插件"表明我们将讨论关于FreeMarker的学习资源以及如何在Eclipse中使用FreeMarker插件进行开发。 FreeMarker的核心概念包括模板、数据模型和配置。模板是HTML或者其他文本...

    FreeMark Jar包 包括 中文 官方文档

    这个压缩包包含的是FreeMark的中文官方文档,对于理解和使用FreeMark非常有帮助。 "FreeMarker_2.3.23_Manual_zh_CN.chm" 是FreeMark的2.3.23版本的中文帮助文档,通常以CHM(Microsoft Compiled HTML Help)格式...

    Freemark标签

    主要介绍了freemark标签的相关基础知识,基本上了解Freemark标签的应用

    使用ckeditor+struts2+freemaker的图片上传

    可以使用Struts2的拦截器来实现这些功能,比如使用`FileSizeInterceptor`和`FileTypeInterceptor`来限制文件大小和类型,使用`PrepareInterceptor`来转义输出的HTML内容,防止XSS注入。 总结来说,"使用ckeditor+...

    freemark标签使用

    在使用`Include` 标签前,确保在相应的`solution`目录下已创建好所要包含的模板文件。 #### 2. Position标签:展示当前位置路径 **功能概述:** `Position` 标签用于在页面上显示当前位置路径,类似于面包屑导航,...

    freemark开发指南(入门)

    FREEMARK资料,开发入门指南 是开发人员了解FREEMARK的一本入门资料

    Java使用freemark生成word

    下面我们将详细探讨如何在Java中使用FreeMarker来生成Word文档。 1. **FreeMarker简介** FreeMarker是一个基于模板的开源Java库,用于生成文本输出。它的核心功能是解析模板文件并根据提供的数据模型动态生成输出...

    Freemark指南

    本指南旨在全面介绍Freemark的基本概念及其使用方法,帮助读者更好地理解和运用这一工具。 #### 二、核心概念 Freemark的核心概念主要包括三个:**序列(Sequence)**、**键值对集合(Hash)**以及**命名空间...

    实现FreeMark读取模板生成HTML

    在描述中提到的“实现FreeMark读取到json数据”,意味着你可能需要将JSON对象转换为FreeMarker的数据模型。这可以通过使用Jackson或Gson等库来实现。例如,如果你有一个JSON字符串: ```json { "name": "张三", ...

    freemark简单使用源码

    在本教程中,我们将深入探讨FreeMarker的简单使用和源码分析。 首先,FreeMarker的工作原理是基于模板和数据模型。模板是一段包含固定文本和占位符(称为变量或指令)的文本文件,这些占位符会被数据模型中的实际值...

    freemark 资料学习

    在你提供的资料中,"freemark中文资料"和"freemark教程"是学习的关键。它们可能包含了Freemarker的基本概念解释、实例演示、常见问题解答等。"freemark基础和高级教程"则更深入地讲解了Freemarker的各种特性,是进阶...

    freemark开发指南详解

    本篇将深入讲解Freemarker的开发指南,帮助你更好地理解和使用这一工具。 1. **Freemarker基础概念** - **模板语言**:Freemarker使用的是基于文本的模板语言,它不包含任何编程语法,而是通过简单的标记来控制...

    Struts2+Freemark

    在"Struts2+Freemark 做到一个例子"中,你可能会看到以下的实践步骤: 1. 创建Action类并实现相关业务逻辑。 2. 编写FreeMarker模板文件(通常以`.ftl`为扩展名),定义视图布局和数据展示方式。 3. 在Struts2配置...

    freemark 简要使用说明

    2. **注释**:FreeMarker 使用 `&lt;#-- ... --&gt;` 格式的注释,这些内容在模板解析后不会出现在生成的文档中。这使得模板设计者可以在模板文件中添加说明性文字而不会影响最终输出。 3. **插值**:插值是FreeMarker的...

    freemark_java_test.rar_freeMark ja_freemark_java freemark

    这个“freemark_java_test.rar”压缩包包含了与FreeMarker相关的示例源码,用于演示如何在Java项目中有效利用FreeMarker模板语言。 FreeMarker的核心概念是模板和数据模型。模板是HTML、XML或其他格式的静态文本,...

    freemark 生成静态页面

    为了进一步了解和使用这个项目,你需要解压文件,查看项目结构,并按照描述中的指示运行`CreateHtmlWebSite.java`,这将帮助你理解并实践FreeMarker生成静态页面的过程。 总的来说,FreeMarker是Java Web开发中一个...

    freemark

    freemark资料

Global site tag (gtag.js) - Google Analytics