FreeMarker笔记整理

FreeMarker环境搭建

  1. 新建一个maven项目
  2. pom.xml中写入所需依赖
    	<dependency>
          <groupId>org.freemarker</groupId>
          <artifactId>freemarker</artifactId>
          <version>2.3.23</version>
        </dependency>
    
        <dependency>
          <groupId>javax.servlet</groupId>
          <artifactId>javax.servlet-api</artifactId>
          <version>3.0.1</version>
        </dependency>
    
  3. webapp/WEB-INF/web.xml中添加FreeMarker相关的servlet配置
    <!DOCTYPE web-app PUBLIC
     "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
     "http://java.sun.com/dtd/web-app_2_3.dtd" >
    
    <web-app>
      <display-name>Archetype Created Web Application</display-name>
      <!--FreeMarker的Servlet配置-->
      <servlet>
        <servlet-name>freemarker</servlet-name>
        <servlet-class>freemarker.ext.servlet.FreemarkerServlet</servlet-class>
        <init-param>
            <!--模板路径-->
            <param-name>TemplatePath</param-name>
            <!--默认在webapp目录下查找对应的模板文件-->
            <param-value>/</param-value>
        </init-param>
        <init-param>
            <!--模板默认的编码:UTF-8-->
            <param-name>default_encoding</param-name>
            <param-value>UTF-8</param-value>
        </init-param>
      </servlet>
      <!--映射
          当访问所有的ftl文件都会执行上述操作。
          处理所有以.ftl结尾的文件;ftl是freemarker默认的文件后缀
      -->
      <servlet-mapping>
        <servlet-name>freemarker</servlet-name>
        <url-pattern>*.ftl</url-pattern>
      </servlet-mapping>
    </web-app>
    
  4. 编写Servlet类
    package com.wxt.freemarker.servlet;
    
    import javax.servlet.ServletException;
    import javax.servlet.annotation.WebServlet;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import java.io.IOException;
    
    @WebServlet("/text01")
    public class FreemarkerText extends HttpServlet {
         
        @Override
        protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
         
            //1. 设置数据(给模板设置数据)
            req.setAttribute("msg","Hello FreeMarker!");
            //2. 请求转发,跳转到指定的模板页面 template/f01.ftl
            req.getRequestDispatcher("template/f01.ftl").forward(req,resp);
            //3. 新建模板,在webapp目录下新建template目录
        }
    }
    
  5. 编写FreeMarker模板 template/f01.ftl
    <#--直接使用el表达式获取值即可,注意这里是FreeMarker的注释格式,下文使用html的注释以便观看-->
    ${msg}
    
  6. 配置tomcat
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    结果如下:
    在这里插入图片描述
  7. 启动tomcat,访问路径是tomcat中配置的url + servlet的访问路径。
    以当前为例,访问路径为: http://localhost:8080/freemarkerText_war_exploded/text01
    在这里插入图片描述

FreeMarker数据类型

布尔型

即boolean类型,在FreeMarker模板中布尔型不能直接输出,需要转为字符串输出
格式如下:
${参数?c}
${参数?string}
${参数?string('返回值1',‘返回值2’)} 如果为true则显示返回值1,为false则显示返回值2
例:
servlet代码如下:

@WebServlet("/text02")
public class FreemarkerText02 extends 
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值