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!则说明模板调用成功了!
分享到:
相关推荐
以下是关于Struts2与Freemarker配置的详细步骤和相关知识点: 1. **Freemarker简介**: - Freemarker 是一个基于模板的语言,主要用于生成HTML或其他格式的文本输出。它的核心是模板文件,开发者可以使用...
通过以上步骤,可以成功地将Struts2与Freemarker整合到一起,构建出高效的Java Web应用。在实际开发中,还需要关注安全性、异常处理、国际化等方面,确保应用的稳定性和用户体验。同时,不断学习和理解这两个框架的...
**FreeMarker与Struts2的整合配置详解** FreeMarker是一个基于Java的模板引擎,它用于生成动态HTML、XML或其他格式的文本输出。Struts2是一个流行的MVC(模型-视图-控制器)框架,用于构建Java Web应用程序。将...
FreeMarker 是一个强大的模板引擎,常用于Web应用中的动态页面生成。它与Java语言紧密集成,但不包含任何业务逻辑,只负责呈现数据。在本文中,我们将深入探讨FreeMarker的使用,包括环境搭建和基本操作。 ### 环境...
本篇文章将深入探讨如何在Spring中配置Freemarker视图解析器,以及如何配置多个视图解析器以实现更灵活的应用场景。 首先,让我们了解如何配置单个Freemarker视图解析器。在Spring的配置文件(如`...
在实际开发中,可以根据具体需求调整Freemarker的配置项,如缓存策略、日期格式等,以满足不同应用场景的需求。同时,`GameTechnology`这个文件可能包含了具体的示例代码或项目结构,可以结合这个资源来深入理解和...
**FreeMarker** 是一个模板引擎,它允许开发者将业务逻辑与视图层分离,使页面呈现更加灵活。FreeMarker模板语言(FTL)是一种简单的文本格式,用于描述如何在HTML或其他文档类型中动态生成内容。在Struts2框架中,...
下面详细阐述Struts2与Freemarker的配置方法。 首先,要安装开发Freemarker模板文件的Eclipse插件FreeMarkerIDE。这个插件提供了错误提示和高亮显示的功能,可以在***网站上下载。安装插件的具体过程可以参考其他...
2. 注册自定义指令:在你的应用程序中,你需要将自定义指令类注册到FreeMarker配置中。这通常是通过`Configuration`对象的`setSharedVariable`方法完成的,将你的自定义指令类实例绑定到一个特定的名字,这个名字...
3. **配置Freemarker**:在应用的配置文件中,设置Freemarker的相关属性,如模板路径、输出编码等,并将Freemarker与Servlet容器集成。 4. **整合Sitemesh和Freemarker**:为了让Sitemesh能够装饰Freemarker生成的...
总结来说,通过Spring配置Freemarker视图解析器,我们可以将后端的Java逻辑与前端的HTML呈现分离,使得开发更加模块化。Freemarker的强大模板语言则提供了丰富的功能,让开发者能方便地创建动态页面。通过熟练掌握...
首先,`web.xml`是部署描述符文件,它是Java EE Web应用程序的核心配置文件。在这里,我们看到`ContextLoaderListener`被用来初始化Spring的IoC容器,通过`context-param`指定了Spring的配置文件位置`/WEB-INF/...
- **结果映射**:在struts.xml配置文件中,定义Action的执行结果与FreeMarker模板的关联。 - **数据模型传递**:Action类的属性会自动注入到FreeMarker模板中,供模板渲染使用。 3. **FreeMarker模板设计原则** ...
- **配置**: 创建`Configuration`对象来设定Freemarker的配置,如模板目录、编码等。 - **加载模板**: 使用`Configuration`对象加载模板文件。 - **设置数据模型**: 通过`Map`对象将Java数据绑定到模板。 - **...
以下是关于FreeMarker配置(Configuration)的详细解释。 **基础概念** Configuration对象是FreeMarker的核心组件,它负责存储全局配置信息,如模板加载路径、模板语言设置等。通常,一个应用程序会创建一个共享的...
在实际开发中,这个项目可以帮助我们理解如何将Struts2的注解配置与FreeMarker模板结合起来,实现用户管理系统的功能。通过阅读源代码,我们可以深入学习Struts2的注解用法,以及如何利用FreeMarker模板设计美观、...
Freemarker是一个强大的模板引擎,常用于JavaEE应用中的视图层处理,尤其与Struts2等MVC框架配合使用,能实现灵活的动态页面渲染。这个"freemarker Demo"是一个适合初学者的示例项目,旨在帮助新接触Freemarker的...
1. **配置Struts2.0与Freemarker** - 在`struts.xml`配置文件中,你需要指定Freemarker作为默认的视图技术,添加`<constant name="struts.views.freemarker.templateLoaderPath" value="/WEB-INF/classes/templates...
10. **与Web框架集成**:FreeMarker广泛应用于各种Web框架,如Spring MVC、Struts等,它们通常提供了方便的API和配置选项来集成FreeMarker。 理解并熟练掌握FreeMarker的这些功能,可以帮助开发者更高效地构建动态...