`
lingshangwen
  • 浏览: 61981 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

使用freemarker

阅读更多

public class Student {

	private Name name;
	private String no;
	private String sex;
	private Integer age;
	private Date entranceDate;
	private boolean local;

	public boolean isLocal() {
		return local;
	}

	public void setLocal(boolean local) {
		this.local = local;
	}

	public Integer getAge() {
		return age;
	}

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

	public Name getName() {
		return name;
	}

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

	public String getNo() {
		return no;
	}

	public void setNo(String no) {
		this.no = no;
	}

	public String getSex() {
		return sex;
	}

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


	public Date getEntranceDate() {
		return entranceDate;
	}

	public void setEntranceDate(Date entranceDate) {
		this.entranceDate = entranceDate;
	}

}
   
public class Name {
	private String firstName;
	private String lastName;

	public String getFirstName() {
		return firstName;
	}

	public void setFirstName(String firstName) {
		this.firstName = firstName;
	}

	public String getLastName() {
		return lastName;
	}

	public void setLastName(String lastName) {
		this.lastName = lastName;
	}
}
 
public class FreeMarkerApp {

	public static void main(String[] args) {
		Configuration cfg = new Configuration();
		Writer out = null;
		try {
			cfg
					.setDirectoryForTemplateLoading(new File(
							"/home/lingshangwen/repo/eclipse/freemarker/src/main/resources/templates"));
			cfg.setObjectWrapper(new DefaultObjectWrapper());

			Template tmp = cfg.getTemplate("simple.ftl");

			Map root = new HashMap();

			List<Student> studentList = new ArrayList<Student>();
			Student student = null;
			SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
			Date entranceDate = sdf.parse("2004-09-10");
			Name name = null;
			for (int i = 0; i < 10; i++) {
				name = new Name();
				name.setFirstName("eagle" + i);
				name.setLastName("paraidse" + i);
				
				student = new Student();
				student.setName(name);
				student.setAge(24);
				student.setNo(String.valueOf(20040900 + i));
				student.setEntranceDate(entranceDate);
				if (i < 5) {
					student.setLocal(true);
					student.setSex("男");
				} else {
					student.setLocal(false);
					student.setSex("女");
				}

				studentList.add(student);
			}
			root.put("studentList", studentList);
			out = new OutputStreamWriter(System.out);
			tmp.process(root, out);
			out.flush();
		} catch (IOException e) {
			e.printStackTrace();
		} catch (TemplateException e) {
			e.printStackTrace();
		} catch (ParseException e) {
			e.printStackTrace();
		} finally {
			if (out != null) {
				try {
					out.close();
					out = null;
				} catch (IOException e) {
					e.printStackTrace();
				}
			}
		}
	}

}

 

simple.ftl

<#if studentList?exists>
	<#list studentList as student>
${student.name.firstName}.${student.name.lastName} ${student.no} ${student.sex} ${student.age?c} ${student.local?string("本地学生", "外地学生")}
	</#list>
</#if>
 
输出

eagle0.paraidse0 20040900 男 24 本地学生
eagle1.paraidse1 20040901 男 24 本地学生
eagle2.paraidse2 20040902 男 24 本地学生
eagle3.paraidse3 20040903 男 24 本地学生
eagle4.paraidse4 20040904 男 24 本地学生
eagle5.paraidse5 20040905 女 24 外地学生
eagle6.paraidse6 20040906 女 24 外地学生
eagle7.paraidse7 20040907 女 24 外地学生
eagle8.paraidse8 20040908 女 24 外地学生
eagle9.paraidse9 20040909 女 24 外地学生

 

分享到:
评论

相关推荐

    Java中使用 FreeMarker 生成pdf盖章合同文件

    本篇文章将深入探讨如何在Java中使用FreeMarker生成带有盖章的PDF合同文件。 首先,让我们了解FreeMarker的基本概念。FreeMarker是一个基于模板的语言,它与Java代码分离,允许开发者用简单的模板语法来表示数据。...

    springboot如何使用Freemarker模版引擎

    通过以上步骤,你可以在SpringBoot应用中成功集成并使用Freemarker模板引擎。这只是一个基础的介绍,实际开发中,你可以根据项目需求配置更多的Freemarker特性和功能,如缓存管理、日期格式化等,以满足复杂的应用...

    grails使用freemarker.rar

    标题中的“grails使用freemarker.rar”表明这是一个关于如何在Grails框架中应用FreeMarker模板引擎的资源包。FreeMarker是一个开源的、基于Java的模板引擎,它用于生成动态HTML或其他格式的文本,比如XML、PDF等。...

    在struts2中使用freemarker模版

    要开始在Struts2中使用FreeMarker模板,首先需要将`freemarker-2.3.8.jar`库文件导入到你的项目的`WEB-INF/lib`目录下。这个库包含了FreeMarker模板引擎的所有必要组件。然后创建一个新的web工程,例如`...

    struts2中使用freeMarker

    在Struts2中使用FreeMarker,主要涉及以下几个核心概念和步骤: 1. **配置FreeMarker**: - 在Struts2的配置文件(通常为struts.xml)中,你需要指定FreeMarker作为默认的视图技术。 - 配置FreeMarker的路径,...

    springboot中使用freemarker动态生成word文档,以及使用POI导出自定义格式Excel

    Springboot项目中: 1. 使用Apache POI 3.9 自定义样式导出Excel文件...2. 使用freemarker动态生成word .doc文档(带图片Word以及复杂格式word) 详细说明见个人博客及 github: https://github.com/DuebassLei/excel-poi

    java使用freemarker模板技术导出word

    Java 使用 FreeMarker 模板技术导出 Word 是一种常见的数据动态生成文档的方法,它结合了 Java 的编程能力和 FreeMarker 模板引擎的强大功能,能够帮助开发者高效地生成结构化的 Word 文档。FreeMarker 是一个开源的...

    使用freemarker 导出word供别人下载

    本示例将详细讲解如何使用Freemarker来导出Word文档,并提供供他人下载的功能。 首先,理解Freemarker的核心概念。Freemarker是一个基于模板的Java库,它与后台数据模型结合,用于生成输出文本。模板是包含动态内容...

    Spring配置Freemarker视图解析器,前台页面全部使用freemarker渲染

    下面我们将深入探讨如何配置Spring以使用Freemarker作为视图解析器,以及如何在前端页面上全面使用Freemarker进行渲染。 首先,我们需要在Spring的配置文件中添加对Freemarker的支持。这通常涉及到以下几个步骤: ...

    使用freemarker扩展struts标签

    本话题将深入探讨如何使用FreeMarker扩展Struts2的标签库,以增强视图层的表现力和灵活性。 首先,FreeMarker是一个基于模板的语言,它允许开发者用简单的语法来处理数据模型并生成HTML或其他文本。在Struts2中,...

    使用FreeMarker生成java代码

    这篇博客文章“使用FreeMarker生成java代码”深入探讨了如何利用FreeMarker来自动化Java代码的生成过程,从而提高开发效率。 FreeMarker的工作原理是将设计模式(模板)与数据模型结合,模板中包含了一系列控制结构...

    Java html转word 使用FreeMarker

    在代码中,使用FreeMarker API加载模板文件,创建`Template`对象,然后用数据模型实例化`Map`对象。通过`Configuration`对象的`process`方法,将模板与数据模型合并,生成Word文档的字节流。最后,你可以选择将这个...

    EOS 中使用freemarker模板生成PDF文件导出

    在这个场景下,使用Freemarker模板技术可以帮助我们实现这一目标。Freemarker是一个强大的、轻量级的模板引擎,它可以将模板和数据模型结合起来,生成输出文本,如HTML、XML或者如本例中的PDF。 首先,我们需要了解...

    使用freemarker生成controller service impl pojo dao mapper

    本篇将深入探讨如何使用FreeMarker来生成一套完整的MVC流程,包括Controller、Service、Impl、PageModel、DAO以及Mapper。 1. **FreeMarker简介** FreeMarker是一个基于模板的开源Java库,用于生成文本输出。它的...

    java使用freemarker生成复杂的word文档

    提供的压缩包文件中,"freemarker使用文档.docx"可能是关于如何使用Freemarker的教程,可以帮助进一步了解其用法;"沈阳军区漏洞扫描情况报告.docx"可能是一个示例生成的Word文档;"foxe_CHS.exe"看起来像是一个中文...

    如何使用Freemarker生成java代码

    1. **模板语言**:Freemarker使用简单的文本模板语言,不依赖任何编程语言。模板中包含控制结构(如条件语句、循环)和数据引用表达式。 2. **分离关注点**:Freemarker的核心理念是将逻辑和展示分开,开发者负责...

    freemarker导出doc及docx

    总的来说,“freemarker导出doc及docx”涉及到了Freemarker模板引擎的使用、SpringBoot的集成、以及利用Apache POI等库处理Word文档的技巧。实际操作时,你需要根据项目需求定制模板,设置数据模型,最后通过编程...

    使用FreeMarker生成Html静态文件

    在实际项目中,FreeMarker经常与Spring MVC等框架结合使用,实现更复杂的视图渲染逻辑。 在给定的压缩包文件`freemark`中,可能包含了FreeMarker的相关示例代码、模板文件和其他辅助资源。解压并研究这些文件可以...

    本项目主要通过一些详细的小列子讲述如何正确的使用FreeMarker

    下面将详细解释如何正确使用FreeMarker,并通过Spring MVC中的具体案例来阐述。 1. **FreeMarker配置**: - 在Spring MVC的配置文件中,需要添加FreeMarker视图解析器的相关配置,包括模板目录、输出字符集、是否...

    java 使用 freemarker 导出word 包含 图片和动态的数据表,动态行和动态列

    本篇文章将深入探讨如何使用FreeMarker模板引擎来生成包含图片和动态数据表的Word文档,尤其注重动态行和动态列的处理。 FreeMarker是一个强大的模板语言,用于生成文本输出,如HTML、XML、Word文档等。它与Java...

Global site tag (gtag.js) - Google Analytics