Freemarker取list集合中数据(将模板填充数据后写到客户端HTML)
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)的更多相关文章
- 取SQL分组中的某几行数据
取SQL分组中的某几行数据 对表中数据分组,有时只需要某列的聚合值:有时却需要返回整行数据,常用的方法有:子查询.ROW_NUMBER.APPLY,总体感觉还是ROW_NUMBER比较直观.测试数据: ...
- 用NPOI从DataTable到Excel,向Excel模板填充数据
DataTable---->Excel,填充数据 private IWorkbook workbook = null; private ISheet sheet = null; private ...
- 借助 SIMD 数据布局模板和数据预处理提高 SIMD 在动画中的使用效率
原文链接 简介 为发挥 SIMD1 的最大作用,除了对其进行矢量化处理2外,我们还需作出其他努力.可以尝试为循环添加 #pragma omp simd3,查看编译器是否成功进行矢量化,如果性能有所提升 ...
- Aspose.cell中的Excel模板导出数据
//Excel模板导数据(Eexcel中根据DataTable中的个数,给多个Sheet中的模板赋值) public void DataSetToManyExcel(string fileName, ...
- laravel7 数据迁移及填充数据
1:置迁移数据表,创建生成模型和迁移文件: php artisan make:model Article -m 2:接着,在框架中的database/migrations文件夹中找到刚创建的用户表Ar ...
- 05. 取SQL分组中的某几行数据
对表中数据分组,有时只需要某列的聚合值:有时却需要返回整行数据,常用的方法有:子查询.ROW_NUMBER.APPLY,总体感觉还是ROW_NUMBER比较直观.测试数据: if OBJECT_ID( ...
- python实例:在列表,字典,集合中,根据条件筛选数据
1. 从列表中过滤掉 负数 from random import randint # 随机生成列表 data = [randint(-10, 10) for _ in range(10)] print ...
- .NET[C#]使用LINQ从List<T>集合中获取最后N条数据记录的方法有哪些?
https://codedefault.com/2018/using-linq-to-get-the-last-n-elements-of-a-collection-in-csharp-applica ...
- 根据EXCEL模板填充数据
string OutFileName = typeName+"重点源达标率" + DateTime.Now.ToString("yyyy-MM-dd"); ...
随机推荐
- VMWare 安装 Linux
参考 : http://www.aboutyun.com/thread-6780-1-1.html 这的是很详细.赞一下 我这里就简化一下. 1 下载: VMWare : https://d ...
- 看完让你彻底理解 WebSocket 原理,附完整的实战代码(包含前端和后端)
1.前言 最近有同学问我有没有做过在线咨询功能.同时,公司也刚好让我接手一个 IM 项目.所以今天抽时间记录一下最近学习的内容.本文主要剖析了 WebSocket 的原理,以及附上一个完整的聊天室实战 ...
- 有趣的线段树模板合集(线段树,最短/长路,单调栈,线段树合并,线段树分裂,树上差分,Tarjan-LCA,势能线段树,李超线段树)
线段树分裂 以某个键值为中点将线段树分裂成左右两部分,应该类似Treap的分裂吧(我菜不会Treap).一般应用于区间排序. 方法很简单,就是把分裂之后的两棵树的重复的\(\log\)个节点新建出来, ...
- 自学Zabbix9.4 zabbix low-level discover底层发现(zabbix批量部署必备)
点击返回:自学Zabbix之路 点击返回:自学Zabbix4.0之路 点击返回:自学zabbix集锦 自学Zabbix9.4 zabbix low-level discover底层发现(zabbix批 ...
- 洛谷 P2158 [SDOI2008]仪仗队 解题报告
P2158 [SDOI2008]仪仗队 题目描述 作为体育委员,C君负责这次运动会仪仗队的训练.仪仗队是由学生组成的N * N的方阵,为了保证队伍在行进中整齐划一,C君会跟在仪仗队的左后方,根据其视线 ...
- bzoj4518/luogu4072 征途(斜率优化dp)
首先推一波公式: 设f[t][i]为第t天以i为结尾,这时已经算了的最小公差$*m^2$ 设s[i]为1到i的和 $$f[t][i]=min\{f[t-1][j]+m*(s[i]-s[j]-\frac ...
- Android Selector 与 Shape 基本用法
分类: Android2011-07-19 11:07 7513人阅读 评论(4) 收藏 举报 androidencodingbutton测试c 1:Selector drawable的item中可以 ...
- 4月1日->-4月15日 2周阶段性计划
4月1日->4月14日 ST表 树状数组 LCA 一周的时间,力求掌握这三个知识点并各刷五道题左右. 树状数组 ST表 LCA 然而:进展总比计划快(......什么鬼) 树状数组刷了5题,ST ...
- 【洛谷P3586】LOG
题目大意:维护一个集合,支持单点修改.查询小于 X 的数的个数.查询小于 X 的数的和. 题解:学习到了动态开点线段树.对于一棵未经离散化的权值线段树来说,对于静态开点来说,过大的值域会导致不能承受的 ...
- 【POJ1734】Sightseeing Trip 无向图最小环
题目大意:给定一个 N 个顶点的无向图,边有边权,如果存在,求出该无向图的最小环,即:边权和最小的环,并输出路径. 题解:由于无向图,且节点数较少,考虑 Floyd 算法,在最外层刚开始遍历到第 K ...