package
com.naxsu.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 {
/**
* 获取模板
* @param name
* @return
*/
public
Template getTemplate(String name) {
try
{
Configuration cfg =
new
Configuration();
cfg.setClassForTemplateLoading(
this
.getClass(),
"/ftl"
);
Template temp = cfg.getTemplate(name);
return
temp;
}
catch
(IOException e) {
e.printStackTrace();
}
return
null
;
}
/**
* 输出到控制台
* @param name 模板文件名
* @param root
*/
public
void
print(String name,Map<String,Object> root) {
try
{
Template temp =
this
.getTemplate(name);
temp.process(root,
new
PrintWriter(System.out));
}
catch
(TemplateException e) {
e.printStackTrace();
}
catch
(IOException e) {
e.printStackTrace();
}
}
/**
* 输出到文件
* @param name
* @param root
* @param outFile
*/
public
void
fprint(String name,Map<String,
Object> root,String outFile) {
FileWriter out =
null
;
try
{
out =
new
FileWriter(
new
File(
"E:\\freemarker\\ftl\\"
+outFile));
Template temp =
this
.getTemplate(name);
temp.process(root, out);
}
catch
(IOException e) {
e.printStackTrace();
}
catch
(TemplateException e) {
e.printStackTrace();
}
finally
{
try
{
if
(out!=
null
) out.close();
}
catch
(IOException e) {
e.printStackTrace();
}
}
}
}
相关推荐
1. **基础概念**:Freemarker的工作原理,模板语言的基础元素,如变量、表达式、控制结构(if/else、foreach)以及注释等。 2. **数据模型**:理解如何将Java对象绑定到模板,包括基本类型、集合、Map等数据结构的...
### FreeMarker实例教程知识点详解 ...以上知识点覆盖了FreeMarker的主要方面,通过本教程的学习,读者不仅能够掌握FreeMarker的基本使用方法,还能够深入了解其高级特性,为日后解决复杂的Web开发问题打下坚实的基础。
本教程将深入讲解Freemarker的核心概念、语法和实际应用,帮助你全面掌握这个模板语言。 1. **Freemarker简介** - Freemarker是一个开源的、轻量级的模板引擎,其核心功能是将数据模型与HTML模板结合,生成最终的...
Freemarker是一个强大的模板引擎,常用于Java web开发中,作为动态内容生成工具。...通过本教程的学习,你不仅可以掌握Freemarker的基础用法,还能了解其在实际项目中的应用,为你的编程生涯添加一个实用的工具。
通过学习这9页的Freemarker入门教程,你将能够理解和应用基本的Freemarker语法,进一步深入学习,你可以掌握更高级的特性,成为熟练的Freemarker使用者,从而更好地服务于Web开发工作。在实践中不断探索,你会发现...
### FreeMarker 中文教程知识点概览 #### 一、FreeMarker 概述 - **定义与功能**:FreeMarker 是一款强大的、灵活的、可扩展的模板引擎,它支持多种编程语言,主要用于生成动态HTML页面以及其他格式的文档,如XML...
通过这些资料,你可以全面了解并掌握Freemarker的使用,从基础语法到高级特性,从而在实际项目中灵活运用。无论是开发Web应用,还是构建复杂的邮件系统,Freemarker都能提供强大而简洁的解决方案。学习并熟练运用...
FreeMarker是一款模板引擎: 即一种基于模板和要改变的数据, 并用来生成输出文本(HTML网页、电子邮件、配置文件、源代码等)的通用工具。 它不是面向最终用户的,而是一个Java类库,是一款程序员可以嵌入他们所...
在这个“FreeMarker入门之一:say hello world”中,我们将探讨如何使用FreeMarker来创建一个简单的“Hello, World!”程序,了解其基本语法和工作原理。 1. **FreeMarker简介** FreeMarker是一个开源项目,由...
### FreeMarker教程精要 **FreeMarker** 是一种强大的模板引擎,主要用于生成动态网页或用于任何文本输出场景。本文档将深入探讨FreeMarker的核心组成部分及其使用方法,包括文本、注释、插值以及FTL(FreeMarker ...
1. **FreeMarker基础** - **定义**:FreeMarker是一个Java模板语言,它将数据模型与视图分离,模板设计者只需关注页面布局,而开发者则专注于业务逻辑。 - **工作原理**:FreeMarker读取由Java应用程序提供的数据...
1. **模板语言基础**:Freemarker模板由静态文本和动态控制结构组成,如`<#if>`、`<#foreach>`等。动态部分是由${...}或#{...}包裹的表达式,用于插入数据模型中的值。`<#assign>`用于定义变量,`<#function>`则允许...
什么是FreeMarker? ................................................................................................. 7 我们应该阅读什么内容? .............................................................
一、Freemarker基础 1. 模板语言:Freemarker是一种声明式语言,它不包含任何控制结构(如循环、条件语句),而是通过特定的语法来表达数据与模板的结合方式。 2. 变量与数据模型:在Freemarker中,变量是由`${}`...
1. **模板语言基础** FreeMarker的模板语言是一种声明式的编程方式,它允许开发者通过简单的标记语法来控制输出。这些标记不包含执行逻辑,而是与数据模型结合以生成最终输出。例如,`<#if>`、`<#foreach>`用于条件...
3. **教程手册**:《Freemarker教程手册中文版》是学习Freemarker的重要参考资料,涵盖了从入门到进阶的全面内容。 通过这个教程,你可以系统地了解和掌握Freemarker的使用方法,提升你的Web开发技能。在实践中不断...
### Freemarker语法规则教程 #### 一、字符串格式化输出 在Freemarker中,字符串格式化是一项非常实用的功能,它可以将数据按照特定的格式进行输出,方便开发者控制最终的展示效果。以下是一些基本的例子: - **...
一、Freemarker基础 1. 模板语法:Freemarker的模板语言由简单的文本和特殊的指令组成。例如,`${expression}`用于插入变量值,`<#if condition>`和`<#else>`用于条件判断,`<#list items as item>`用于循环遍历。 ...