FreeMarker的使用(中)

简介: FreeMarker的使用

二.二.四 list 循环开发


二.二.四.一 list循环FTL


创建 list.ftl 文件


<html>
<head>
    <title>Welcome ${web} </title>
</head>
<body>
<h2> list 的相关展示</h2>
<ul>
<#list hobbys as hobby>
    <li>${hobby}</li>
</#list>
</ul>
<h2> list展示一起,</h2>
<#list hobbys>
    <ul>
        <#-- 用items 表示内部的元素, items -->
        <#items as hobby>
            <li>${hobby}
        </#items>
    </ul>
</#list>
<h2>分隔符展示</h2>
<p> hobbys: <#list hobbys as hobby>${hobby}<#sep>, </#list> </p>
<h2>展示表格的数据信息</h2>
<table>
    <th>
        <td>id编号</td>
        <td>名称</td>
        <td>年龄</td>
        <td>性别</td>
        <td>描述</td>
    </th>
    <#if uers??>
       <#list users as u>
           <tr>
               <td>${u.id}</td>
               <td>${u.name}</td>
               <td>${u.age}</td>
               <td><#if u.sex==1>男<#else>女</#if></td>
               <td>${u.description}</td>
           </tr>
       </#list>
        <#-- 如果为空的话, #else 表示为空的意义-->
        <#else>
        <tr>
            没有数据
        </tr>
        </#if>
</table>
</body>
</html>


二.二.四.二 List循环开发


对应的 User.java 对象


package com.zk.template.freemark.pojo;
import lombok.Data;
@Data
public class User {
    private Integer id;
    private String name;
    private Integer sex;
    private Integer age;
    private String description;
}


 @Test
    public void listFillTest2() throws Exception{
        Configuration configuration=new Configuration(
                Configuration.VERSION_2_3_29
        );
        configuration.setDirectoryForTemplateLoading(
                new File(
                        "D:\\learncode\\Template\\FreeMark\\Basic\\src\\main\\resources\\freemark"
                )
        );
        configuration.setDefaultEncoding("utf-8");
        //4. 设置数据
        Map<String,Object> root=new HashMap<>();
        root.put("web","List循环");
        List<String> hobbys=new ArrayList<>();
        hobbys.add("看书");
        hobbys.add("打游戏");
        hobbys.add("编程");
        root.put("hobbys",hobbys);
        //获取集合对象
        List<User> userList=getUserList();
        root.put("users",userList);
        //5. 获取模板
        Template template=configuration.getTemplate("list.ftl");
        //输出信息
        Writer out=new OutputStreamWriter(System.out);
        //7. 进行填充数据
        template.process(root,out);
    }
    private List<User> getUserList() {
        List<User> userList=new ArrayList<>();
        for(int i=1;i<=10;i++){
            User user=new User();
            user.setId(i);
            user.setName("蝴蝶"+i);
            user.setAge(i*3+1);
            user.setSex(i%2);
            user.setDescription("一个简单的描述");
            userList.add(user);
        }
        return userList;
    }


d16bc3abae78e012057eb1f65f2ae042.png


二.二.五 include 包含文件


二.二.五.一 include 文件 FTL


创建 foot.ftl


<hr>
<i>
    Copyright (c) 2000 <a href="top.yueshushu.com">yueshushu_top</a>,
    <br>
</i>


创建 footinclude.ftl


<html>
<head>
    <title>Include page</title>
</head>
<body>
<h1>Include page</h1>
<p>
    <#-- 放置进去, #include 填充进去。 #include 填充进去。-->
    <#include "foot.ftl">
</body>
</html>


二.二.五.二 include 开发


 @Test
    public void includeFillTest() throws Exception{
        //1. 通过版本,获取相关的配置
        Configuration configuration=new Configuration(Configuration.VERSION_2_3_29);
        //2. 设置扫描的包的基本路径
        configuration.setDirectoryForTemplateLoading(
                new File("D:\\learncode\\Template\\FreeMark\\Basic\\src\\main\\resources\\freemark")
        );
        //3. 设置基本路径
        configuration.setDefaultEncoding("utf-8");
        //5. 获取对应的模板文件
        Template template=configuration.getTemplate("footinclude.ftl");
        //6. 输出到控制台
        Writer out=new OutputStreamWriter(System.out);
        //7. 通过 process() 方法进行填充数据和输出信息对象.
        template.process(null,out);
    }


195bea9563254195ba931cb17b3d8ce5.png


相关文章
|
6月前
|
XML Java 数据格式
freemarker使用总结
freemarker使用总结
|
6月前
|
XML Java 数据格式
freemarker
freemarker
|
6月前
|
前端开发 JavaScript Java
Thymeleaf一篇文章学会使用
Thymeleaf一篇文章学会使用
66 0
|
前端开发 Java 应用服务中间件
Thymeleaf
模板引擎 前端交给我们的页面,是html页面。如果是我们以前开发,我们需要把他们转成jsp页面,jsp好处就是当我们查出一些数据转发到JSP页面以后,我们可以用jsp轻松实现数据的显示,及交互等。
Thymeleaf
|
前端开发 Java
Freemarker - 基础篇(上)
Freemarker - 基础篇(上)
370 0
Freemarker - 基础篇(上)
|
前端开发
Freemarker - 基础篇(下)
Freemarker - 基础篇(下)
205 0
Freemarker - 基础篇(下)
|
XML 前端开发 JavaScript
Thymeleaf的使用
最近听说thymeleaf好像也挺流行的,还说是spring官方推荐使用,那thymeleaf究竟是什么呢?spring为什么推荐用它呢?怎么用呢?本文将为你揭秘!
Thymeleaf的使用
|
存储 移动开发 缓存
26、模板引擎thymeleaf
模板引擎根据一定的语义,将数据填充到模板中,产生最终的HTML页面。模板引擎主要分两种:客户端引擎和服务端引擎。
190 0
26、模板引擎thymeleaf
|
XML Java Maven
Freemarker(上)
Freemarker(上)
164 0
Freemarker(上)
|
消息中间件 Java 应用服务中间件
Freemarker(下)
Freemarker(下)
172 0
Freemarker(下)