二.二.四 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; }
二.二.五 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); }