1.模板写法:

    <html>
<head>
<title>freemarker测试</title>
</head>
<body>
<#list mylist as item>
${item.name!}----------
${item.password!}-------
${item.sex!}----------
${item.photo!}-----------<br/>
</#list>
</body>
</html>

2.java代码

package servlet;

import java.io.IOException;
import java.io.Writer;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
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 bean.TestFreemarkerBean;
import freemarker.template.Configuration;
import freemarker.template.Template;
import freemarker.template.TemplateException; @SuppressWarnings("serial")
@WebServlet("/hello")
public class hello extends HttpServlet {
// 负责管理FreeMarker模板的Configuration实例
private Configuration cfg = null; public void init() throws ServletException {
// 创建一个FreeMarker实例
cfg = new Configuration();
// 指定FreeMarker模板文件的位置
cfg.setServletContextForTemplateLoading(getServletContext(), "/WEB-INF/templates");
} @SuppressWarnings("unchecked")
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// 建立数据模型
Map<String,Object> root = new HashMap();
/*root.put("message", "第一个入门程序");
root.put("name", "freemarker");*/
List<TestFreemarkerBean> list = new ArrayList<>();
list.add(new TestFreemarkerBean("乔治", "123456", "男", "wwwwwwww"));
list.add(new TestFreemarkerBean("乔治", "123456", "男", "wwwwwwww"));
list.add(new TestFreemarkerBean("乔治", "123456", "男", "wwwwwwww"));
list.add(new TestFreemarkerBean("乔治", "123456", "男", "wwwwwwww"));
list.add(new TestFreemarkerBean("乔治", "123456", "男", "wwwwwwww"));
list.add(new TestFreemarkerBean("乔治", "123456", "男", "wwwwwwww"));
list.add(new TestFreemarkerBean("乔治", "123456", "男", "wwwwwwww"));
list.add(new TestFreemarkerBean("乔治", "123456", "男", "wwwwwwww"));
list.add(new TestFreemarkerBean("乔治", "123456", "男", "wwwwwwww"));
list.add(new TestFreemarkerBean("乔治", "123456", "男", "wwwwwwww"));
root.put("mylist", list);
// 获取模板文件
Template t = cfg.getTemplate("test.ftl"); // 使用模板文件的Charset作为本页面的charset
// 使用text/html MIME-type
response.setContentType("text/html; charset=" + t.getEncoding());
Writer out = response.getWriter();
// 合并数据模型和模板,并将结果输出到out中
try {
// t.process(list, out); // 往模板里写数据
// request.setAttribute("mylist", list);
t.process(root, out); // 往模板里写数据
} catch (Exception e) {
e.printStackTrace();
}
} public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request, response);
} public void destroy() {
super.destroy();
}
}

3.测试结果:

aaarticlea/png;base64,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" alt="" />

Freemarker取list集合中数据(将模板填充数据后写到客户端HTML)的更多相关文章

  1. 取SQL分组中的某几行数据

    取SQL分组中的某几行数据 对表中数据分组,有时只需要某列的聚合值:有时却需要返回整行数据,常用的方法有:子查询.ROW_NUMBER.APPLY,总体感觉还是ROW_NUMBER比较直观.测试数据: ...

  2. 用NPOI从DataTable到Excel,向Excel模板填充数据

    DataTable---->Excel,填充数据 private IWorkbook workbook = null; private ISheet sheet = null; private ...

  3. 借助 SIMD 数据布局模板和数据预处理提高 SIMD 在动画中的使用效率

    原文链接 简介 为发挥 SIMD1 的最大作用,除了对其进行矢量化处理2外,我们还需作出其他努力.可以尝试为循环添加 #pragma omp simd3,查看编译器是否成功进行矢量化,如果性能有所提升 ...

  4. Aspose.cell中的Excel模板导出数据

    //Excel模板导数据(Eexcel中根据DataTable中的个数,给多个Sheet中的模板赋值) public void DataSetToManyExcel(string fileName, ...

  5. laravel7 数据迁移及填充数据

    1:置迁移数据表,创建生成模型和迁移文件: php artisan make:model Article -m 2:接着,在框架中的database/migrations文件夹中找到刚创建的用户表Ar ...

  6. 05. 取SQL分组中的某几行数据

    对表中数据分组,有时只需要某列的聚合值:有时却需要返回整行数据,常用的方法有:子查询.ROW_NUMBER.APPLY,总体感觉还是ROW_NUMBER比较直观.测试数据: if OBJECT_ID( ...

  7. python实例:在列表,字典,集合中,根据条件筛选数据

    1. 从列表中过滤掉 负数 from random import randint # 随机生成列表 data = [randint(-10, 10) for _ in range(10)] print ...

  8. .NET[C#]使用LINQ从List<T>集合中获取最后N条数据记录的方法有哪些?

    https://codedefault.com/2018/using-linq-to-get-the-last-n-elements-of-a-collection-in-csharp-applica ...

  9. 根据EXCEL模板填充数据

    string OutFileName = typeName+"重点源达标率" + DateTime.Now.ToString("yyyy-MM-dd");    ...

随机推荐

  1. Java8的flatMap如何处理有异常的函数

    Java8的flatMap函数,作用是:如果有值,为其执行mapping函数返回Optional类型返回值,否则返回空Optional. 见到的映射函数往往都只有一句话,连大括号都不需要加的,如下: ...

  2. 【总结】 Lucas定理

    \(Lucas\)定理: \(C^x_y≡C^{x/p}_{y/p}*C^{x\%p}_{y\%p} ~~(mod~p)\) 证明不会2333 void pre(){ A[0]=A[1]=B[0]=B ...

  3. 自学Zabbix9.1 Network Discovery 网络发现原理

    点击返回:自学Zabbix之路 点击返回:自学Zabbix4.0之路 点击返回:自学zabbix集锦 自学Zabbix9.1 Network Discovery 网络发现原理 1. 网络发现简介 网络 ...

  4. 洛谷 P2300 合并神犇 解题报告

    P2300 合并神犇 题目背景 loidc来到了NOI的赛场上,他在那里看到了好多神犇. 题目描述 神犇们现在正排成一排在刷题.每个神犇都有一个能力值p[i].loidc认为坐在附近的金牌爷能力参差不 ...

  5. 路径或文件名中含有中文的jar文件双击启动不了 -> Java7的Bug?

    至从安装了java7后,才发现部分可执行的jar文件双击都启动不了了. 比如所有的jar文件放在桌面上双击启动不了. 比如所有的文件名中含有中文的jar文件双击启动不了. 比如一个 abc.jar 放 ...

  6. Flash:使用FileReference上传在Firefox上遇到的问题终于解决了

    以前使用的是这样的一句话:var uploadURL:URLRequest = new URLRequest();uploadURL.url = "upload.asp"; 测试发 ...

  7. OpenCv练习

    // ConsoleApplication1.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <iostream&g ...

  8. 关于promise的一些用法

    Promise,简单说就是一个容器,里面保存着某个未来才会结束的事件(通常是一个异步操作)的结果.从语法上说,Promise 是一个对象,从它可以获取异步操作的消息. Promise对象有以下两个特点 ...

  9. 编译Uboot——错误记录

    我使用的是ZLG的EasyARM i.MX280A的开发板.官方提供的编译器时arm-fsl-linux-gnueabihf(gcc 4.4.4).自己尝试使用arm-linaro-linux-gnu ...

  10. 多行文本文本输入框 textarea 可点击任意地方编辑的问题

    遇到了一个问题: textarea可以点击任意地方编辑 原因: textarea中间我换行了 改成: 就正常了.