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"); ...
随机推荐
- spring boot 系列之五:spring boot 通过devtools进行热部署
前面已经分享过四篇随笔: spring boot 系列之一:spring boot 入门 spring boot 系列之二:spring boot 如何修改默认端口号和contextpath spri ...
- BZOJ5337 [TJOI2018] 碱基序列 【哈希】【动态规划】
题目分析: 这道题的难点在于要取模,而题面没有写. 容易想到一个O(1E7)的dp.KMP或者哈希得到相关位置然后对于相关位置判断上一个位置有多少种情况. 代码: #include<bits/s ...
- FreeBSD ZFS
FreeBSD ZFS https://www.cnblogs.com/hadex/p/6068476.html 参考資料 http://docs.oracle.com/cd/E37934_01/ht ...
- BUPT2017 wintertraining(15) #2 题解
这场有点难,QAQ.补了好久(。• ︿•̀。) ,总算能写题解了(つд⊂) A. Beautiful numbers CodeForces - 55D 题意 求\([l,r](1\le l_i\l ...
- 自学Linux Shell16.2-函数中使用变量
点击返回 自学Linux命令行与Shell脚本之路 16.2-函数中使用变量 1. 向函数传递参数 函数可以使用标准参数环境变量来表示命令行传递给函数的参数.例如, 函数名在变量$0中定义,函 ...
- NOIP2013题解
NOIP2013题解 Day1 转圈游戏 circle 快速幂模板题. #include<iostream> using namespace std; int n,m,k,x; int f ...
- 【BZOJ1876】[SDOI2009]SuperGCD(数论,高精度)
[BZOJ1876][SDOI2009]SuperGCD(数论,高精度) 题面 BZOJ 洛谷 题解 那些说数论只会\(gcd\)的人呢?我现在连\(gcd\)都不会,谁来教教我啊? 显然\(gcd\ ...
- 【BZOJ2875】【NOI2012】随机数生成器(矩阵快速幂)
[BZOJ2875]随机数生成器(矩阵快速幂) 题面 Description 栋栋最近迷上了随机算法,而随机数是生成随机算法的基础.栋栋准备使用线性同余法(Linear Congruential Me ...
- SDL OPENGL 在linux ubuntu示例
gl画纹理texture /* * SDL OpenGL Tutorial. * (c) Michael Vance, 2000 * briareos@lokigames.com * * Distri ...
- HDU 1024 Max Sum Plus Plus (动态规划)
HDU 1024 Max Sum Plus Plus (动态规划) Description Now I think you have got an AC in Ignatius.L's "M ...