`

FreeMarker配置与应用

阅读更多

FreeMarker 2.3.18 下载:http://sourceforge.net/projects/freemarker/files/freemarker/2.3.18/freemarker-2.3.18.tar.gz/download

 

FreeMarker 2.3.18 API:http://freemarker.sourceforge.net/docs/api/

 

下面演示一个简单的使用项目过程:

1. 使用myeclipse创建一个web项目testFM

 

2. 把下载到的jar包(freemarker-2.3.18.jar)放到\WebRoot\WEB-INF\lib目录下。下载地址:http://freemarker.sourceforge.net/freemarkerdownload.html (注:官方网站.org的经常打不开)


3. 在WebRoot下面新建templates文件包,然后在里面新建扩展名为ftl的模板。
a) 创建hello.ftl内容如下:
<html>
<head>
<title>hello!</title>
</head>
<body>
<h1>hello ${user}!</h1>
</body>
</html>

 

4. 在src目录下创建example包 和Hello.java文件,代码如下:
package example;
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","zdz");
//取得模版文件
Template t =cfg.getTemplate("hello.ftl"); // FreeMarker会到系统的/WebRoot/templates/目录下找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>example.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.在WebRoot下面新建引导页面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.把testFM项目部署到tomcate并启动服务。


8.打开浏览器,输入地址:http://localhost:8080/testFM/


9.点击调用Hello模板 链接,如果出现hello zdz!则说明模板调用成功了!

分享到:
评论
2 楼 mszb00123 2014-06-19  
感谢分享....
1 楼 g29times 2013-08-30  
感谢楼主分享

相关推荐

    Struts2 与Freemarker 的配置方法

    Freemarker是模板引擎,也可以说是一种...开发人员只要熟悉Struts2的标签即可进行开发Freemarker模板文件,如果您还不熟悉具体的Struts2及标签应用请参考其他文献资料,本文主要阐述Struts2与Freemarker的配置方法。。

    freemarker 应用,环境搭建,使用

    NULL 博文链接:https://01jiangwei01.iteye.com/blog/725280

    超完整FreeMarker中文教程,代码

    什么是FreeMarker? ................................................................................................. 7 我们应该阅读什么内容? .............................................................

    FreeMarker+SpringBoot模板引擎demo

    FreeMarker 是一款模板引擎:一种基于模板的、用来生成输出文本(任何来自于...它不是面向最终用户,而是为程序员提供的可以嵌入他们开发产品的一款应用程序。可以生成 java类, html 页面,xml配置文件等,大神必备神器!

    基于SpringBoot+FreeMarker搭建的JavaWeb应用的快速开发平台源代码+数据库

    应用内置MySQL数据库脚本,程序第一次启动后会出现安装过程,根据要求填写系统会自动安装,默认数据库名称为webfast4dev, 数据库参数配置及外部文件管理目录默认指定为d:/webfast/demo4dev/appdata。若该目录不存在...

    Java项目:crm客户关系管理系统(java+SpringBoot+ECharts+Freemarker+Layui+mave

    技术选型方面,该项目是一个`SpringBoot`的单体应用,项目使用`SpringBoot2`框架快速开发,数据访问层使用`Mybatis`框架,页面渲染引擎使用`Freemarker`,页面样式使用`Layui`,日志方面选用的是`logback`,统计报表...

    图文教程MyEclipse配置struts+hibernate+spring.doc

    图文教程MyEclipse配置struts...本文档最后部分是一个实战演习,讲述如何使用struts、hibernate和spring三个框架来实现一个完整的Web应用程序,包括建立数据库连接、生成FreeMarker模板、配置struts-config.xml文件等。

    完整的struts2框架应用实例.docx

    * 支持多种视图技术,例如 JSP、Freemarker 和 Velocity 等 * 提供了一个强大的表单处理机制 * 支持Ajax和JSON等技术 五、Struts2 框架的应用场景 Struts2 框架广泛应用于各种基于 Web 的应用程序,例如: * 电子...

    SpringBoot+FreeMarker模板引擎demo

    FreeMarker 是一款模板引擎:一种基于模板的、用来生成输出文本(任何来自于...它不是面向最终用户,而是为程序员提供的可以嵌入他们开发产品的一款应用程序。可以生成 java类, html 页面,xml配置文件等,大神必备神器!

    FreeMarker 手册

    1.1 创建配置实例 ............................................................................................ 61 1.2 创建数据模型 .........................................................................

    spring boot 和 freemaker 全局变量

    Spring MVC配置Freemarker全局变量,实现应用全路径

    图解SSH框架配置步骤

    我们需要引入Struts2必需的五个jar包,包括Commons-logging-1.0.4.jar、Freemarker-2.3.13.jar、Ognl-2.6.11.jar、Struts2-core-2.1.6.jar和Xwork-2.1.2.jar。 3.2 修改WEB-INF下的web.xml文件 我们需要修改WEB-...

    MyFastCode:快速构建面向服务的Web应用,基于MysqlHessianSpring&MVCFreemarker

    快速构建面向soa的大型集群应用,基于 mysql-5.6 hessian-4.0.8 Spring&MVC-3.1.0.RELEASE freemarker-2.3.20 redis-2.8.19 web容器采用jetty8 http session采用redis存储(jetty自身提供了mongodb/rdb的支持) 基于...

    struts2的struts.properties配置文件详解

    Struts2是一个基于MVC模式的Web应用程序框架,它提供了一个名为Struts.properties的配置文件,该文件用于配置Struts2的各种参数和设置。下面将对Struts.properties配置文件中的重要参数进行详细解释。 1. struts....

    Struts2\constant应用

    -- 指定Web应用的默认编码集,相当于调用HttpServletRequest的setCharacterEncoding方法 --&gt; &lt;constant name="struts.i18n.encoding" value="UTF-8" /&gt; &lt;!-- 该属性指定需要Struts 2处理的请求后缀,该属性的...

    JessMA Java Web 应用开发框架 (v3.2.2-20130815).pdf

    Spring Bean装配、国际化、文件上传下载和缓存等基础Web应用组件,提供高度灵活的纯 Jsp/Servlet API 编程模型,完美整合 Spring,支持Action Convention“零配置”,能快速开发传统风格和RESTful风格的Web应用程序...

    spring3.0MVC中文教程.pdf

    Spring MVC是Spring的框架的Web组件。 它提供了丰富的功能,为建设强大的Web应用程序。 Spring MVC框架的架构,并在这样的高度可配置的方式,... 喜欢速度与其他视图技术集成,Freemarker的,Excel或PDF现在也有可能。

    FreeMarker template engine-开源

    FreeMarker是模板引擎。 也就是说,它提供了一种... 它旨在将呈现/格式逻辑(如视觉设计,HTML问题等)与支持应用程序的逻辑和技术复杂性分开。 它具有灵活的API,因此您可以以最适合的方式将其集成到您的应用程序中。

Global site tag (gtag.js) - Google Analytics