下面详细讲解一个简单使用freemarker的项目过程:
1. 使用Eclipse创建一个web项目FreeMarker
2. 把下载到的jar包(freemarker-2.3.1.jar)放到/WebContent/WEB-INF/lib目录下。下载地址:http://www.findjar.com/jar/freemarker/freemarker/2.3.1/freemarker-2.3.1.jar.html(注:官方网站.org的经常打不开)
3. 在WebContent下面新建templates文件包,然后在里面新建扩展名为ftl的模板
创建hello.ftl内容如下:
<html> <head> <title>hello!</title> </head> <body> <h1>hello ${user}!</h1> </body> </html>
4. 在src目录下创建com.bijian.study.freemarker包和Hello.java文件,代码如下:
package com.bijian.study.freemarker; import java.io.*; import java.util.*; import javax.servlet.ServletException; import javax.servlet.http.*; import freemarker.template.*; public class Hello extends HttpServlet { private Configuration cfg; public void init() { // 初始化FreeMarker配置 // 创建一个Configuration实例 cfg = new Configuration(); // 设置FreeMarker的模版文件位置 cfg.setServletContextForTemplateLoading(getServletContext(),"templates"); } public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // 建立数据模型 Map root = new HashMap(); // 放入对应数据key value root.put("user", "iteye"); // 取得模版文件 Template t = cfg.getTemplate("hello.ftl"); // 开始准备生成输出 // 使用模版文件的charset作为本页面的charset // 使用text/html MIME-type response.setContentType("text/html; charset=" + t.getEncoding()); PrintWriter out = response.getWriter(); // 合并数据模型和模版,并将结果输出到out中 try { t.process(root, out);// 用模板来开发servlet可以只在代码里面加入动态的数据 } catch (TemplateException e) { throw new ServletException("处理Template模版中出现错误", e); } } }
5. 配置web.xml 代码如下:
<?xml version="1.0" encoding="UTF-8"?> <web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> <servlet> <servlet-name>Hello</servlet-name> <servlet-class>com.bijian.study.freemarker.Hello</servlet-class> </servlet> <servlet-mapping> <servlet-name>Hello</servlet-name> <url-pattern>*.do</url-pattern> </servlet-mapping> <welcome-file-list> <welcome-file>index.html</welcome-file> </welcome-file-list> </web-app>
6. 在WebContent下面新建引导页面index.html,代码如下:
<html> <head> <title>Hello FreeMarker Example</title> <meta http-equiv="Content-type" content="text/html; charset=utf-8"> </head> <body> 点击下面链接看看效果: <hr> <a href="hello.do">调用Hello模板</a> </body> </html>
7. 把FreeMarker项目部署到tomcate并启动服务。
8. 打开浏览器,输入地址:http://localhost:8088/FreeMarker/
9. 点击调用Hello模板链接,如果出现hello iteye!则说明模板调用成功了!
附工程的结构:
文章来源:http://blog.csdn.net/oyzl68/article/details/6532117
相关推荐
spring MVC + freemarker 实例 spring MVC + freemarker 实例 spring MVC + freemarker 实例 spring MVC + freemarker 实例
### FreeMarker实例教程知识点详解 #### 一、FreeMarker简介 **FreeMarker**是一款功能强大的模板引擎,主要用于生成文本输出,如HTML页面、电子邮件、配置文件等。它被广泛应用于Web开发领域,能够帮助开发者轻松...
在"Struts2 和freemarker实例"中,我们可能会学习到以下知识点: 1. **Struts2的基础概念**:理解Struts2的架构,包括Action、Result、Interceptor等核心组件的作用和配置。 2. **配置Struts2**:如何在struts.xml...
3. **Freemarker实例创建** - 创建`Configuration`对象,设置模板加载路径和配置项。 - 加载模板文件,如`Template template = configuration.getTemplate("template.ftl");` - 创建数据模型,如`Map, Object> ...
下面将详细介绍Freemarker的核心概念、配置、语法以及常见使用场景。 **1. Freemarker核心概念** - **模板(Templates)**:Freemarker的核心是模板文件,它定义了页面的布局和样式,包含变量和控制结构。 - **数据...
在给定的`struts2.0+freemarker实例.rar`中,可能包含了一个简单的Web应用示例,展示了如何集成Struts2.0和FreeMarker进行开发。可能包括Action类、FreeMarker模板文件以及Struts2的配置文件。通过解压并运行这个...
### Java生成静态页面——Freemarker实例教程 #### 一、Freemarker简介 Freemarker是一款基于模板的通用工具,它可以嵌入到各种应用程序中,帮助开发者将动态数据渲染成HTML、XML或其他文本格式的文件。对于提高...
综上所述,"freemarker实例下载"提供了一个实用的教程,涵盖了Freemarker的基础用法、与Spring的整合以及如何部署和运行。通过学习和实践这个实例,开发者可以更好地理解和掌握Freemarker在实际项目中的应用。
与JSP相比,FreeMarker更加专注于模板处理,不涉及Java代码,因此在复杂页面渲染和模板复用方面具有优势。 FreeMarker的工作原理是通过读取预先定义的模板文件,结合后台提供的数据模型,生成最终的输出文本。模板...
这个实例是一个不依赖数据库、使用相对路径生成文件的基础示例,非常适合初学者了解和学习Freemarker的基本用法。 1. **Freemarker简介** Freemarker是一个开源的模板语言,它与编程语言解耦,允许开发者将业务...
下面将深入探讨FreeMarker的基本概念、工作原理以及如何创建一个简单的实例。 1. **基本概念** - **模板(Template)**: 模板是FreeMarker的核心,它是HTML或XML等静态文件,其中包含特定的FreeMarker指令和变量,...
使用Spring JdbcTemplate+Druid数据源+FreeMarker 开发的代码生成器。 您可以根据自己的实际,修改一下FreeMarker的模版文件,直接按目录生成Java代码。 生成了就能用,节省大量重复工作的时间。 您也可以用来学习...
本实例" Maven2项目集成springmvc, spring3, ibatis和freemarker"提供了一个完整的解决方案,旨在帮助开发者快速搭建基于这些技术的Web应用程序。以下是这些技术的详细说明和集成过程。 **Maven2**: Maven是一款...
freemarker简短易懂的工具类
这个"freemarker实例20090309"项目包含了一个完整的MyEclipse Web工程,可以直接运行。在运行前,确保已正确配置了Tomcat服务器,并将项目部署到服务器上。启动服务器,访问项目中的某个Action,Struts2.0会处理...
本文将详细介绍如何在Spring Boot项目中集成Freemarker,并通过示例代码进行讲解。 首先,我们需要在项目的`pom.xml`文件中添加对`spring-boot-starter-freemarker`的依赖: ```xml <groupId>org.spring...
标题中的“grails使用freemarker.rar”表明这是一个关于如何在Grails框架中应用FreeMarker模板引擎的资源包。FreeMarker是一个开源的、基于Java的模板引擎,它用于生成动态HTML或其他格式的文本,比如XML、PDF等。...
在本示例中,我们将深入探讨Freemarker的基础用法、核心概念以及如何创建一个简单的Freemarker示例。 **一、Freemarker基本概念** 1. **模板(Templates)**: 模板是Freemarker的核心,它包含静态文本和动态占位符...
这个"struts2+hibernate+freemarker"项目实例是将这三个框架集成到一起,构建了一个完整的Web应用程序。 **Struts2** 是一个强大的MVC框架,它基于Action和Result的设计模式,负责处理用户的请求,并将其转发到相应...