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!则说明模板调用成功了!
分享到:
相关推荐
Freemarker是模板引擎,也可以说是一种...开发人员只要熟悉Struts2的标签即可进行开发Freemarker模板文件,如果您还不熟悉具体的Struts2及标签应用请参考其他文献资料,本文主要阐述Struts2与Freemarker的配置方法。。
NULL 博文链接:https://01jiangwei01.iteye.com/blog/725280
什么是FreeMarker? ................................................................................................. 7 我们应该阅读什么内容? .............................................................
FreeMarker 是一款模板引擎:一种基于模板的、用来生成输出文本(任何来自于...它不是面向最终用户,而是为程序员提供的可以嵌入他们开发产品的一款应用程序。可以生成 java类, html 页面,xml配置文件等,大神必备神器!
应用内置MySQL数据库脚本,程序第一次启动后会出现安装过程,根据要求填写系统会自动安装,默认数据库名称为webfast4dev, 数据库参数配置及外部文件管理目录默认指定为d:/webfast/demo4dev/appdata。若该目录不存在...
技术选型方面,该项目是一个`SpringBoot`的单体应用,项目使用`SpringBoot2`框架快速开发,数据访问层使用`Mybatis`框架,页面渲染引擎使用`Freemarker`,页面样式使用`Layui`,日志方面选用的是`logback`,统计报表...
图文教程MyEclipse配置struts...本文档最后部分是一个实战演习,讲述如何使用struts、hibernate和spring三个框架来实现一个完整的Web应用程序,包括建立数据库连接、生成FreeMarker模板、配置struts-config.xml文件等。
* 支持多种视图技术,例如 JSP、Freemarker 和 Velocity 等 * 提供了一个强大的表单处理机制 * 支持Ajax和JSON等技术 五、Struts2 框架的应用场景 Struts2 框架广泛应用于各种基于 Web 的应用程序,例如: * 电子...
FreeMarker 是一款模板引擎:一种基于模板的、用来生成输出文本(任何来自于...它不是面向最终用户,而是为程序员提供的可以嵌入他们开发产品的一款应用程序。可以生成 java类, html 页面,xml配置文件等,大神必备神器!
1.1 创建配置实例 ............................................................................................ 61 1.2 创建数据模型 .........................................................................
Spring MVC配置Freemarker全局变量,实现应用全路径
我们需要引入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-...
快速构建面向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是一个基于MVC模式的Web应用程序框架,它提供了一个名为Struts.properties的配置文件,该文件用于配置Struts2的各种参数和设置。下面将对Struts.properties配置文件中的重要参数进行详细解释。 1. struts....
-- 指定Web应用的默认编码集,相当于调用HttpServletRequest的setCharacterEncoding方法 --> <constant name="struts.i18n.encoding" value="UTF-8" /> <!-- 该属性指定需要Struts 2处理的请求后缀,该属性的...
Spring Bean装配、国际化、文件上传下载和缓存等基础Web应用组件,提供高度灵活的纯 Jsp/Servlet API 编程模型,完美整合 Spring,支持Action Convention“零配置”,能快速开发传统风格和RESTful风格的Web应用程序...
Spring MVC是Spring的框架的Web组件。 它提供了丰富的功能,为建设强大的Web应用程序。 Spring MVC框架的架构,并在这样的高度可配置的方式,... 喜欢速度与其他视图技术集成,Freemarker的,Excel或PDF现在也有可能。
FreeMarker是模板引擎。 也就是说,它提供了一种... 它旨在将呈现/格式逻辑(如视觉设计,HTML问题等)与支持应用程序的逻辑和技术复杂性分开。 它具有灵活的API,因此您可以以最适合的方式将其集成到您的应用程序中。