自己搭建freemarker环境和测试代码



1.新建Dynamic web project工程。

2.起名为Freemarker

3.打开工程,在WebContent中新建index.html文件。

4.index.html中添加如下内容:

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title>Insert title here</title>

</head>

<body>

点击下面链接看看效果:

<hr>

<a href="hello.do">调用Hello模板</a>

</body>

</html>

5.Java Resource中新建包。

6.添加包名称为:com.sln.freemarker

7.在刚刚创建的包下创建类。

8.添加类名称为:Hello.java

9.Hello类中,要实现一个Servlet类,以便对Freemarker的请求进行拦截处理。

10.首先继承HttpServlet类。HttpServlet类是在servlet-api.jar中的,所以要从tomcat中引入该jar包。

11.然后复写servletinit方法。在初始化的方法中,需要初始化Freemarker模板的一些类。

私有对象Configuration类,需要引入Freemarkerjar包。

12.设置模板的路径

cfg.setServletContextForTemplateLoading(getServletContext(), "templates");

第二个参数设置了模板的路径。

13.之后复写doGet方法。

代码如下:

// 建立数据模型

      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);

      }

14.配置web.xml

<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>freemarker</servlet-name>

      <servlet-class>com.sln.freemarker.Hello</servlet-class>

   </servlet>

   <servlet-mapping>

      <servlet-name>freemarker</servlet-name>

      <url-pattern>/*.do</url-pattern>

   </servlet-mapping>

</web-app>

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值