1。首先建一个工程(我建的是Web Project)
2。在WebRoot下建一个文件夹,命名为 freemarker , 在文件夹中建一个test.ftl(模板文件)文件,内容下如:
<%@ page language="java" pageEncoding="GBK" contentType="text/html;charset=GBK"%>
<%@ taglib uri="http://java.sun.com/jstl/core" prefix="c" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>My JSP 'index.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
</head>
<body>
freemarkerTEST: ${persion}
</body>
</html>
3。建一个类内容下如:
import java.io.File;
import java.io.FileOutputStream;
import java.io.OutputStreamWriter;
import java.io.Writer;
import java.util.HashMap;
import java.util.Map;
import freemarker.template.Configuration;
import freemarker.template.DefaultObjectWrapper;
import freemarker.template.Template;
import freemarker.template.TemplateExceptionHandler;
public class Test {
public static void main(String[] args) throws Exception {
//模板路径
String dir = Test.class.getResource("/").getPath().split("WEB-INF")[0]
+ "freemarker";
Configuration cfg = new Configuration();
//加载freemarker模板文件
cfg.setDirectoryForTemplateLoading(new File(dir));
//设置对象包装器
cfg.setObjectWrapper(new DefaultObjectWrapper());
//设计异常处理器
cfg.setTemplateExceptionHandler(TemplateExceptionHandler.IGNORE_HANDLER);
//定义并设置数据
Map<String, String> data = new HashMap<String, String>();
data.put("persion", "我爸是李刚");
//获取指定模板文件
Template template = cfg.getTemplate("test.ftl");
//定义输入文件,默认生成在工程根目录
Writer out = new OutputStreamWriter(new FileOutputStream("test.html"),
"GBK");
//最后开始生成
template.process(data, out);
System.out.println("successful");
}
}
分享到:
相关推荐
在这个“freemarker简单例子”中,我们将深入理解Freemarker的基本概念、配置以及如何在实际项目中使用。 1. **Freemarker基本概念** - **模板(Template)**:Freemarker的核心是模板,它定义了最终输出的静态...
cap_first` 将字符串的第一个字符转换为大写。 - `?lower_case` 转换字符串为小写。 - `?trim` 删除字符串前后的空白字符。 ##### 序列属性 ```plaintext 假设 test 的值为 "Tom&Jerry" --> ${test?size} // 8 ${...
才看了《spring 3.x》第一章内容,写的一个例子;感觉写得挺经典的。 于是骄傲地分享出来。 除了隐藏jdbc.properties里配置;其余都无保留的分享出来了。这里其实一个关于分库分表的配置文件。 使用技术细节:...
在这个"第一个spring例子"中,我们将探讨如何创建一个简单的Spring应用,它包含了client和server两部分,这通常意味着我们将构建一个客户端-服务器架构的应用。为了运行此示例,你需要安装MySQL数据库服务和Apache ...
大家常用的基于模板的生成工具,可能包括FreeMarker ,velocity等,语法结构都类似且简单,上手非常快,一个下午足矣。 相比较 FreeMarker 而言,Velocity 更加简单、轻量级,但它的功能却没有 FreeMarker 那么...
Freemarker则是一个强大的模板引擎,常用于生成HTML或其他文本格式的动态内容。结合这两者,我们可以构建出高效的邮件发送系统。本文将详细探讨如何在Spring框架中整合Freemarker,实现邮件的发送,包括在HTML邮件中...
以下是一个简单的FreeMarker生成HTML的例子: ```java Configuration cfg = new Configuration(Configuration.VERSION_2_3_30); cfg.setClassForTemplateLoading(this.getClass(), "/templates"); Template ...
在这个简单的例子中,我们通过FreeMarker生成了"Hello, World!"的输出。实际上,FreeMarker支持更复杂的逻辑操作,如条件判断(`<#if>`)、循环(`<#foreach>`)、函数调用等,能够满足各种动态生成文本的需求。 ...
"content": "这是第一行\n这是第二行\n这是第三行" } ``` 在生成Excel时,Freemarker将根据模板和这个数据对象创建一个带有换行的单元格。 为了将Freemarker模板转换为Excel文件,你需要一个实现此功能的库,如...
在这个例子中,`users`是Java端传递到Freemarker模板的一个list,`user`是循环中的变量,每次迭代时代表`users`列表中的一个元素。`as`关键字用于定义迭代变量。在循环体内,我们可以通过`user`访问当前元素的属性,...
例如,`animals[0].name`代表的是第一个动物的名字。 #### 二、模板的组成部分 **2.1 Interpolations(插值表达式)** 插值表达式(${...})是Freemarker中用来引用数据模型中数据的一种方式。它们允许你在模板中...
现在,我们来逐步创建WebWork的第一个例子: 1. **环境准备**:确保已经安装了JDK和Apache Tomcat服务器,以及WebWork的依赖库(可以通过Maven或Gradle添加到项目中)。 2. **创建Maven/Gradle项目**:建立一个新...
cap_first:使字符串第一个字母大写 lower_case:将字符串转换成小写 upper_case:将字符串转换成大写 trim:去掉字符串前后的空白字符 下面是集合的常用内建函数 size:获取序列中元素的个数 下面是数字值的常用...
这可以通过调用`new Template(null, new StringReader("模板字符串"), null)`完成,其中第一个参数为模板名称(在这里为null),第二个参数是包含模板内容的`Reader`,第三个参数通常是配置对象(在这里为null)。...
Spring MVC 是 Spring 框架的一个重要模块,它为构建基于Java的Web应用程序提供了一个强大的模型-视图-控制器(MVC)架构。Spring MVC 的设计允许开发者将业务逻辑、数据处理和用户界面分离,从而实现更好的可维护性...
标题中的“springboot集成mybatis分页,freemark,spring,logback完整小例子”表明这是一个关于Spring Boot项目,其中整合了MyBatis用于数据库操作,FreeMarker作为模板引擎处理视图,以及Spring框架和Logback日志系统...
**第一章 程序开发入门** - **1.1 创建配置实例:**介绍了如何初始化FreeMarker配置对象。 - **1.2 创建数据模型:**讲解了如何构建数据模型以供模板使用。 - **1.3 获得模板:**解释了如何加载并准备模板。 - **1.4...
10. **实践应用**: 压缩包中的"freemarker的第一个例子"和"用例子讲解FreeMarker应用—生成Java代码"等内容,将帮助读者通过实际案例掌握Freemarker的使用方法,理解如何在项目中集成和运用Freemarker。 11. **社区...
最后,文档还将介绍一些常用的FreeMarker资源,如官方文档、社区论坛、第三方教程等,这些资源可以帮助开发者在遇到难题时寻求帮助,也可以了解FreeMarker的最新动态和最佳实践。通过这些资源,开发者可以更深入地...