freemarker之list和map
第一次使用freemarker很不习惯,之前都是用velocity的。
@RequestMapping("/free.htm")
public ModelAndView helloSpring(HttpServletRequest request, HttpServletResponse response) throws Exception {
Map<String,Object> map = new HashMap<String,Object>();
List<Area> alist = new ArrayList<Area>();
Area area = new Area();
area.setName("我来啦~~");
alist.add(area);
alist.add(area);
alist.add(area);
alist.add(area);
alist.add(area);
alist.add(area);
map.put("h1", "hhh");
map.put("area", area);
map.put("alist", alist);
ModelAndView mv = new ModelAndView();
AreaPage page = new AreaPage();
page.setPageSize(50);
List<Area> list = areaService.queryAllFirstArea(page);
mv.addObject("list", list);
mv.addObject("map", map);
mv.addObject("area", area);
mv.setViewName("index");
return mv;
}
java代码是这样的。有map,有list,有对象实体。
基本数据类型,可以通过${data}来获得。
如果是普通的java类,可以通过${obj.field}来获得对象的属性。
list取值
<# list as obj>
list存的是对象,取值${obj.field}。
list存的是基本数据类型,取值${data}。
</#list>
map取值,因为上面的java程序mv.addObject("map",map);
我举这3种取值,后面就举一反三吧。我在网上找了好久关于map怎么取值,试了都不对。然后我就想到velocity对map的取值。${map.key1.key2...}可以这样通过.来获取值。
我就想到了,结果可以的。
1、${map.h1}得到的是hhh。基本数据类型,但是String不是基本数据类型。也可以这么取。
2、${area.name}得到"我来啦~~",area对象的name属性。
3、map里面装了list。把上面的list稍微添加点东西就可以了。
<# map.list as obj>
list存的是对象,取值${obj.field}。
list存的是基本数据类型,取值${data}。
</#list>
这三种是最常遇到的了。
还有Map的key必须是字符串。
freemarker的引用的对象为空,调用了他的方法或属性,会报错。所以要加判断,这点就没velocity好了。freemarker挺强大的,还可以根据属性排序。暂时就了解了这么多,感觉freemarker用的人不怎么多,所以只做了解。不深入研究。会用基本的差不多可以开发了。
freemarker之list和map的更多相关文章
- freemarker迭代list、map等常规操作,将数据放到模板中
转自:https://blog.csdn.net/wickedvalley/article/details/65937189 一.controller开始准备模型.数据1.po类 package co ...
- freemarker中遍历list<map<String,String>>
<#list var as map><tr> <#list map?keys as itemKey> //关键点 <#if itemKey=" ...
- springboot配置server相关配置&整合模板引擎Freemarker、thymeleaf&thymeleaf基本用法&thymeleaf 获取项目路径 contextPath 与取session中信息
1.Springboot配置server相关配置(包括默认tomcat的相关配置) 下面的配置也都是模板,需要的时候在application.properties配置即可 ############## ...
- SpringMVC同时支持多视图(JSP,Velocity,Freemarker等)的一种思路实现
在基于SpringMVC的项目中有时需要同时使用多种视图格式,如jsp,velocity及freemarker等,通过不同的请求路径配置规则,映射到不同的视图文件.下面我提供一种思路,通过视图模板文件 ...
- Spring Boot 整合 Freemarker,50 多行配置是怎么省略掉的?
Spring Boot2 系列教程接近完工,最近进入修修补补阶段.Freemarker 整合貌似还没和大家聊过,因此今天把这个补充上. 已经完工的 Spring Boot2 教程,大家可以参考这里: ...
- Spring Boot2 系列教程(十)Spring Boot 整合 Freemarker
今天来聊聊 Spring Boot 整合 Freemarker. Freemarker 简介 这是一个相当老牌的开源的免费的模版引擎.通过 Freemarker 模版,我们可以将数据渲染成 HTML ...
- Spring Boot 整合 Freemarker
Spring Boot 整合 Freemarker 1.Freemarker 简介 2.Spring Boot 整合 Freemarker 2.1 创建工程 2.2 创建类 2.3 其他配置 原文地址 ...
- spring mvc+mybatis+多数据源切换
spring mvc+mybatis+多数据源切换,选取oracle,mysql作为例子切换数据源.oracle为默认数据源,在测试的action中,进行mysql和oracle的动态切换. web. ...
- Spring 4 官方文档学习(十二)View技术
关键词:view technology.template.template engine.markup.内容较多,按需查用即可. 介绍 Thymeleaf Groovy Markup Template ...
随机推荐
- Gentoo解决Windows系统txt文本中文乱码问题
Linux与Windows系统语言编码区别 在Linux操作系统下,我们有时打开在windows下的txt文件,发现在windows下能正常显示的txt文件出现了中文乱码. 出现这种情况的原因为两种操 ...
- Redis--Latest Windows Version
Redis Windows Ver https://github.com/MSOpenTech/redis/releases service-install.batredis-server.exe - ...
- ASP.NET使用ImageMap控件
文章来自:http://www.baike369.com/content/?id=5773
- jquery一个简单的菜单小插件
刚学会封装插件,先来封装一个小的菜单插件 html部分 <ul class="zong"> <li class="yiji"> < ...
- percentiles of live data capture
For example, every ten seconds I got a server response time, I want to know the 90 percentile respon ...
- jmeter里json path postprocessor的用法
后置处理器添加 json path postprocessor. 用处: 当前接口响应返回的json中提取内容,作为变量可以在不同的请求中传递. 如下,从登陆接口返回的json中提取user id,变 ...
- 二.创建maven工程及下载需要的jar包
1.使用Eclipse的Maven插件来创建一简单的Maven项目 步骤:打开新建项目对话框,选择Maven Project(File->New->Object->Maven-> ...
- CSS样式笔记
组合样式,CSS继承 .content { padding:0 0 0 5px; line-height: 30px; height: 30px; border: 1px solid #a6bee7; ...
- 2.1 Word 插入 smartart、图表
1.插入-smartart 2.插入后的图表中,左边可键入文字 3.按住TAB可以往后缩进 选中目标按住shift+TAB 可以往前缩进. 1.插入-图表 2.选择形状 3.会成功插入对比图表 以及出 ...
- namenode无法启动
查看日志错误信息关键语句: There appears to be a gap in the edit log. We expected txid 44353, but got txid 原因: n ...