`

freemarker环境搭建(一)

阅读更多

一、简介

    FreeMarker是一款模板引擎: 即一种基于模板和要改变的数据, 并用来生成输出文本(HTML网页、电子邮件、配置文件、源代码等)的通用工具。 它不是面向最终用户的,而是一个Java类库,是一款程序员可以嵌入他们所开发产品的组件。

    FreeMarker是免费的,基于Apache许可证2.0版本发布。其模板编写为FreeMarker Template Language(FTL),属于简单、专用的语言。需要准备数据在真实编程语言中来显示,比如数据库查询和业务运算, 之后模板显示已经准备好的数据。在模板中,主要用于如何展现数据, 而在模板之外注意于要展示什么数据。

 

二、环境搭建

1、通过maven搭建

pom.xml

<?xml version="1.0"?>
<project
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
	xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
	<modelVersion>4.0.0</modelVersion>

	<groupId>com.xu.freemarker</groupId>
	<artifactId>freemarkerTest</artifactId>
	<version>0.0.1-SNAPSHOT</version>

	<name>freemarkerTest</name>
	<url>http://maven.apache.org</url>
	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
	</properties>

	<dependencies>
		<!-- freemarker核心 jar -->
		<dependency>
			<groupId>org.freemarker</groupId>
			<artifactId>freemarker</artifactId>
			<version>2.3.19</version>
		</dependency>
	
		<!-- junit测试 jar -->
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>4.10</version>
			<scope>test</scope>
		</dependency>
	</dependencies>
</project>

2、freemarker工具类FreemarkerUtil.java

package com.xu.freemarker;

import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Map;

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

public class FreemarkerUtil {

	//getTemplate("01.ftl")
	public Template getTemplate(String name){
		//通过Freemarker的Configuration读取相应的ftl
		Configuration cfg = new Configuration();
		//设置去哪里读取相应的ftl模版文件 
		cfg.setClassForTemplateLoading(this.getClass(), "/ftl");
		Template temp = null;
		try {
			//在模版文件目录中找到名称为name的文件
			temp = cfg.getTemplate(name);
		} catch (IOException e) {
			e.printStackTrace();
		}
		return temp;
	}
	
	//通过Template可以将模版输出到相应的流中
	public void print(String name, Map<String,Object> root){
		Template temp = this.getTemplate(name);
		try {
			temp.process(root, new PrintWriter(System.out));
		} catch (TemplateException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
	
	//通过Template可以将模版输出到相应的文件中
	public void fprint(String name, Map<String,Object> root, String outFile){
		Template temp = this.getTemplate(name);
		FileWriter fw = null;
		try {
			fw = new FileWriter(new File(outFile));
			temp.process(root, fw);
		} catch (IOException e) {
			e.printStackTrace();
		} catch (TemplateException e) {
			e.printStackTrace();
		} finally{
			if(fw != null){
				try {
					fw.close();
				} catch (IOException e) {
					e.printStackTrace();
				}
			}
		}
	}
	
}

  3、 测试类TestFreemarkter.java

package com.xu.freemarker;

import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.junit.Before;
import org.junit.Test;

import com.xu.freemarker.model.User;

public class TestFreemarkter {

	FreemarkerUtil fu;
	
	@Before
	public void before(){
		fu = new FreemarkerUtil();
	}
	
	@Test
	public void test01(){
		Map<String,Object> root = new HashMap<String,Object>();
		root.put("username", "张三");
		fu.print("01.ftl", root);
	}
}

 4、freemark文件01.ftl

您好,${username}

 5、运行测试结果

您好,张三

 

freemarker环境搭建完毕

 

源码在附件中

分享到:
评论

相关推荐

    freemarker 应用,环境搭建,使用

    在本文中,我们将深入探讨FreeMarker的使用,包括环境搭建和基本操作。 ### 环境搭建 1. **下载与安装**: 首先,你需要从FreeMarker官方网站(https://freemarker.apache.org/)下载最新版本的FreeMarker库。通常,...

    基于注解的SpringMVC+freemarker环境搭建

    接下来,按照以下步骤进行环境搭建: 1. 创建Maven项目:在IDE中新建一个Maven项目,配置pom.xml文件,添加Spring MVC和FreeMarker的依赖。例如: ```xml &lt;!-- Spring MVC --&gt; &lt;groupId&gt;org.springframework...

    Struts2 与Freemarker 的配置方法

    总结来说,Struts2与Freemarker的配置主要是围绕工程的环境搭建、Struts2的web.xml配置、struts.xml配置以及Freemarker模板的编写展开的。通过这种集成,开发者可以利用Struts2的强大控制逻辑和Freemarker的模板能力...

    基于MAVEN的spring boot 环境搭建,已配置好freemarker 需要jdk 1.8

    本教程将详细介绍如何使用MAVEN作为构建工具来搭建一个基于Spring Boot的环境,并集成FreeMarker模板引擎,同时需要Java Development Kit (JDK) 1.8版本。 1. **Spring Boot基础知识**: Spring Boot是由Pivotal...

    eclipse的freemarker插件

    在提供的文件名"hudson.freemarker_ide_0.9.14"中,"hudson"可能是指Hudson或Jenkins,一个持续集成工具,该插件可能是专为这些工具的Freemarker配置优化。版本号"0.9.14"表示这是该插件的一个具体版本,用户可以...

    一个意义深刻 FreeMarker 入门例子之HelloWord

    - 主类:通常包含`main`方法,是程序的入口点,负责初始化FreeMarker环境,读取数据,调用FreeMarker模板进行渲染。 - 配置文件:可能包含`freemarker.properties`或`application.properties`等,用于设置...

    手动创建 SpringMvc +SpringDataJpa+Hibernate+ freemarker mavenProject+ 环境切换 webDemo

    总结来说,本项目是一个基础的Web开发框架,结合了SpringMVC的MVC设计模式、Spring Data JPA的数据访问层、Hibernate的ORM能力以及FreeMarker的模板引擎,同时还实现了环境配置的灵活切换,为开发高效、可维护的Web...

    基于gulp的前端构建工具集成javafreemarker开发环境

    本主题聚焦于如何利用gulp这个流行的JavaScript构建工具来集成Java FreeMarker模板引擎,打造一个高效的前端开发环境。 首先,`gulp`是一个基于流的构建系统,它允许开发者通过编写简单的任务来处理文件流。其核心...

    freemarker与struts2详细配置

    配置环境 在开始配置之前,确保已安装了Struts2框架和FreeMarker库。通常,Struts2的依赖已经包含了FreeMarker,但为了确保版本兼容,可以在项目中明确指定FreeMarker的版本。 ### 2. 配置Struts2核心文件 首先...

    freemarker-2.3.23jar

    7. **国际化和本地化**:Freemarker支持多语言环境,可以方便地切换不同的语言版本。 8. **错误处理**:当模板存在错误时,Freemarker会抛出异常,并提供详细的错误信息,帮助开发者快速定位问题。 9. **API和配置...

    freemarker-2.3.28.jar

    这个"freemarker-2.3.28.jar"文件可能是Eclipse插件的一部分,意味着它可以方便地在Eclipse环境中配置和使用Freemarker,提供代码提示、自动完成、错误检查等功能,从而提高开发效率。 在实际应用中,开发者通常会...

    FreeMarker入门之一:say hello world

    在Java环境中使用FreeMarker,首先需要将其依赖库添加到项目中,通常是通过Maven或Gradle来管理。在完成配置后,可以通过`freemarker.template.Configuration`类来创建配置对象并加载模板文件。 3. **创建模板** ...

    struts2与Freemarker的配置文件

    接着,配置工程开发环境。首先新建一个Web工程,命名为freemarkerWeb。然后,到***网站下载struts-*.*.**.*-all.zip文件,解压缩并将相关的jar包导入到工程的lib目录下。需要导入的jar包包括:struts2-core-*.*.**.*...

    Java freemarker demo 【struts + freemarker】 自己修改的一个小例子

    总的来说,这个“Java FreeMarker demo 【Struts + FreeMarker】”是一个学习和实践MVC架构的好起点,通过它你可以深入理解Struts和FreeMarker如何协同工作,生成动态的Web页面。在掌握这两个工具后,你将能够更高效...

    freemarker 源码、中文API、 freemarker Myeclipse 编辑器

    同时,手册还会详细介绍如何配置和优化Freemarker以适应你的项目需求。 其次,`freemarker 插件 安装提示.txt`文件很可能是MyEclipse编辑器中安装Freemarker插件的步骤指南。MyEclipse是一款集成开发环境,对于Java...

    FreeMarker

    8. **国际化与本地化**:FreeMarker 支持多语言环境,可以通过`&lt;#t&gt;`和`&lt;#lt&gt;`标签进行文本的国际化和本地化处理。 9. **缓存机制**:为了提高性能,FreeMarker 可以缓存编译后的模板,避免每次请求都重新编译。...

    freemarker\Freemarker教程_中文版

    为了使用Freemarker,开发者首先需要创建一个`Configuration`实例,并对其进行必要的配置。例如,设置模版的加载路径、数据模型的处理方式等。这一步骤确保了Freemarker能够正确地识别和处理模版。 ```java ...

    freemarker入门文档及例子

    文档会讲解如何创建数据模型,设置Freemarker环境,并解释如何编写模板文件。此外,它还会提供关于模板设计模式和最佳实践的指导。 四、实例分析 提供的两个小实例将帮助读者更好地理解Freemarker的实际应用: 1. ...

    struts2+freemarker

    在实际开发中,"freemarker2"这个文件可能是Freemarker的一个示例模板或者配置文件,它可能包含了如何使用Freemarker语法来构建动态网页的具体示例。通过对这个文件的深入学习和实践,开发者可以更熟练地掌握Struts2...

Global site tag (gtag.js) - Google Analytics