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 ...
随机推荐
- IOS开发调整UILabel的行间距
CGFloat heih = 20; NSString * cLabelString = @"这是测试UILabel行间距的text.这是测试UILabel行间距的text.n 这是测试 ...
- java基础第三天
- 记录下 js各种证件的正则验证
身份证 /(^\d{15}$)|(^\d{17}([0-9]|X)$)/ 护照 /^[a-zA-Z0-9]{3,21}$/ /^(P\d{7})|(G\d{8})$/ 军官证或士兵证 ...
- TortoiseSVN 1.8 关于右键的设置
以前用SVN但都是 IDE 自己集成的插件,最近使用 android studio 发现居然自己不带SVN command line插件,非得自己单独装一个,于是使用了 TortoiseSVN ,但用 ...
- 推荐几个在线PDF转化成Word网站
不想安装专业的pdf转换成word软件,希望大家喜欢!昨天用的https://www.pdftoword.com/# 成功搞定! 1.Free-PDFtoWord 在线转换工具: 地址:http:// ...
- html和html5学习
html和html5学习 chorme.safari中的input或textarea html超链接(a)详细讲解 html5新增及删除标签 html表格 图片加alt属性 input的type属性 ...
- js实现多行文本超出一定字数显示省略号功能
最近项目中遇到了一个关于超出一定字数用省略号显示的问题,其实这种形式很常见,公司简介.产品介绍啊里面都可能会用到,一行文字显示省略号很容易,多行就得想点办法了.在经过查阅.整理之后,我也算是实现了这个 ...
- 一箭N雕:多任务深度学习实战
1.多任务学习导引 多任务学习是机器学习中的一个分支,按1997年综述论文Multi-task Learning一文的定义:Multitask Learning (MTL) is an inducti ...
- lsof使用
用netstat命令去统计服务器目前的网络连接状态 netstat -n|awk '/^tcp/{++S[$NF]}END{for(a in S) print a,S[a]}' netstat - ...
- 101个Linq的例子
Where - Simple 1 筛选出数值中大于5的元素 public void Linq1() { int[] numbers = { 5, 4, 1, 3, 9, 8, 6, 7, 2, 0 } ...