1:freemarker eclipse插件安装方法:http://freemarker.org/editors.html,注意eclipse版本
2: 基本使用
<dependencies> <dependency> <groupId>org.freemarker</groupId> <artifactId>freemarker</artifactId> <version>2.3.9</version> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> <version>2.5</version> </dependency> </dependencies>
就依赖一个包;在resources下放一个test.ftl文件
3: 简单的java封装
BaseServlet:
public class BaseServlet extends HttpServlet { private static final long serialVersionUID=1L; protected FreemarkUtil freemarkUtil; @Override public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException { HttpServletResponse response=(HttpServletResponse)res; freemarkUtil=FreemarkUtil.getInstance(response); super.service(req, res); } }
FreemarkUtil.java:
public class FreemarkUtil { private static FreemarkUtil instance; private Configuration cfg; private HttpServletResponse response; private FreemarkUtil(HttpServletResponse response) { try { cfg=new Configuration(); String dir=Test.class.getResource("/").getPath(); System.out.println(dir); cfg.setDirectoryForTemplateLoading(new File(dir)); cfg.setObjectWrapper(new DefaultObjectWrapper()); this.response=response; } catch(Exception e) { e.printStackTrace(); } } public static FreemarkUtil getInstance(HttpServletResponse response) { if(instance == null) { instance=new FreemarkUtil(response); } return instance; } public void process(Map<String, ?> data, String name) throws Exception { Template template=cfg.getTemplate(getName(name)); Writer out=response.getWriter(); template.process(data, out); out.flush(); } private String getName(String name) { if(name == null) { return null; } if(name.indexOf(".ftl") > -1) { return name; } else { return name + ".ftl"; } } }
TestServlet.java:
package com.freemark.test; import java.io.IOException; import java.util.HashMap; import java.util.Map; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; /** * Servlet implementation class TestServlet */ public class TestServlet extends BaseServlet { private static final long serialVersionUID=1L; protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String uri=request.getRequestURI(); if(uri.indexOf("test/") > -1) { System.out.println("--test -- here------"); Map<String, Object> model=new HashMap<String, Object>(); model.put("test", "welcome to use freemark ljq"); try { freemarkUtil.process(model, "test"); } catch(Exception e) { e.printStackTrace(); } } else { System.out.println("error uri = " + uri); } } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { } }
web.xml:
<servlet> <servlet-name>test</servlet-name> <servlet-class>com.freemark.test.TestServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>test</servlet-name> <url-pattern>/test/*</url-pattern> </servlet-mapping>
相关推荐
使用 Freemarker 模板引擎创建一个简单的 Spring 工程。
FreeMarker 是一个用Java语言编写的模板引擎,它基于模板输出文本。FreeMarker 与 Web 容器无关,即在Web运行时,它并不知道 Servlet 或 HTTP。它不仅可以用作表现层的实现技术,而且还可以用于生成XML,JSP或Java ...
FreeMarker使用Macro实例,很好的学习资料。
freemarker使用手册 尚学堂教材
FreeMarker使用介绍 FreeMarker使用介绍
Freemarker使用,比较全面,有需要的可以看看
freemarker使用笔记,从创建文件到写法指导
Reference(FreeMarker 的参考文档,语言使用介绍) 中文翻译之所以选择 Programmer's Guide 是因为个人觉得该部分对如何实现 FreeMarker 进行了比较深入的阐述。有助于读者很好的了解其运作机制,以及去理解...
在开发web项目的时候使用到的页面展现技术,它并...总体,该文档能够提供所有常用的freemarker操作,示例和简略的讲解可以让人一下子就能上手,效率极高。 适合做快速查阅册子,同时也非常适合初学者和骨灰开发者使用。
freemarker的常用技巧:Hashes(散列)操作 Sequences(序列) 内置函数
freemarker常用使用文档......................................................................
Freemarker使用指南简要描述开发过程中涉及的指令, 集成模式等
FreeMarker 是一款 模板引擎: 即一种基于模板和要改变的数据, 并用来生成输出文本(HTML网页,电子邮件,配置文件,源代码等)的通用工具。 它不是面向最终用户的,而是一个Java类库,是一款程序员可以嵌入他们所...
freemarker中文手册,加上了防止资源重复的字样,之前是别人分享来的但是需要积分,这个版的不用积分方便大家使用,主要用于分享,如侵权及时联系我删除,谢谢。
NULL 博文链接:https://chaoyi.iteye.com/blog/2171159
此文档是关于前端页面freemarker模板的使用说明,很适合freemarker初学者学习
freemarker操作手册-完整freemarker教程:完整的freemarker操作手册,对需要学习了解freemarker的人有一定帮助
采用freemarker技术、实现导出excel示例
FreeMarker设计指南.ppt
FreeMarker的入门以及使用指南,想要学习的同学,希望对你们有帮助。