Freemarker

Freemarker的基本使用

概述:

  1. FreeMarker 是一个用 Java 语言编写的模板引擎,它基于模板来生成文本输出。FreeMarker与 Web 容

    器无关,即在 Web 运行时,它并不知道 Servlet 或 HTTP。它不仅可以用作表现层的实现技术,而且还

    可以用于生成 XML,JSP 或 Java 等。

  2. 作用:生成静态界面

HelloWord

  1. 导包

    <dependency>
        <groupId>org.freemarker</groupId> 
        <artifactId>freemarker</artifactId> 
        <version>2.3.23</version>
    </dependency
    
  2. 创建模板文件,后缀名一般是ftl

    <html> 
    	<head>
    		<meta charset="utf-8"> 
    		<title>Freemarker入门</title> 
    	</head> 
    	<body>
    		<#--我只是一个注释,我不会有任何输出 --> 
    		${name}你好,${message} 
    	</body> 
    </html>
    
  3. 生成文件

    使用步骤:

    第一步:创建一个 Confifiguration 对象,直接 new 一个对象。构造方法的参数就是 freemarker的版本

    号。

    第二步:设置模板文件所在的路径。

    第三步:设置模板文件使用的字符集。一般就是 utf-8。

    第四步:加载一个模板,创建一个模板对象。

    第五步:创建一个模板使用的数据集,可以是 pojo 也可以是 map。一般是 Map。

    第六步:创建一个 Writer 对象,一般创建 FileWriter 对象,指定生成的文件名。

    第七步:调用模板对象的 process 方法输出文件。

    第八步:关闭流

    //1.创建配置类
            Configuration configuration = new Configuration(Configuration.getVersion());
            //2.设置模板所在的目录
            configuration.setDirectoryForTemplateLoading(new File("D:\\tfl"));
            //3.设置模板文件默认使用的字符集
            configuration.setDefaultEncoding("utf-8");
            //4.加载模板
            Template template = configuration.getTemplate("test.ftl");
            //5.创建模型数据
            HashMap<Object, Object> map = new HashMap<>();
            map.put("name","张三");
            map.put("message","hello freemarker");
            //6.创建write对象 并指定输入的位置
            Writer writer=new FileWriter(new File("D:\\test.html"));
            //7.输出
            template.process(map,writer);
            //8.关流
            writer.close();
    

指令

1.assign指令

  • 简单类型

    <#assign likin="周周">
    		联系人:${likin}
    
  • JSON类型

    <#assign user={"username":"晓晓","age":"18"}>
    		姓名:${user.username} 年龄:${user.age}
    

2.include指令

  • 一般用于公共页面 将另一个页面包含到这个页面中

    <#include "页面名字">
    

3.if指令

  • 用户做判断使用

    <#if success=true>
    	你已经通过实名认证了
    <#else>
    	你未通过实名认证
    </#if>
    

4.list指令

  • 用于循环

    <!-- 循环的goods good是goods中的每一个元素-->
    <#list goods as good>
        <!-- good是一个对象,name是对象中的属性名 -->
    	商品名:${good.name} 价格:${good.price}
    </#list>
    

在spring中配置Freemarker

1.导入jar包

<dependency>
    <groupId>org.freemarker</groupId> 
    <artifactId>freemarker</artifactId> 
    <version>2.3.23</version>
</dependency

2.指定生成的静态页面路径

out_put_path=C:/Users/wucn/Desktop/线下/projectOne/health-father/health-mobile/src/main/webapp/pages

3.编写配置文件

<!--配置静态页面-->
<bean id="freeMarkerConfigurer" class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer">
    <!--配置字符集-->
    <property name="defaultEncoding" value="utf-8"/>
    <!--配置-->
    <property name="templateLoaderPath" value="/WEB-INF/ftl"/>
</bean>
<!--读取路径-->
<context:property-placeholder location="classpath:freemarker.properties"/>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值