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 ...
随机推荐
- js便利json 数组的方法
这篇文章主要介绍了JQuery遍历json数组的3种方法,本文分别给出了使用each.for遍历json的方法,其中for又分成两种形式,需要的朋友可以参考下 $(function () { var ...
- Egret 学习之 从HelloWorld项目开始 (二)
1,创建新项目HelloWorld ,可以在界面上点击文件->新建,也可以在命令行使用create: 2,src 目录,存放我们的代码.我们编写的代码都放在src目录下面. bin-debug ...
- Ansible hostvars
1. inventory hosts file 中的server 变量会覆盖group变量. hostvars: { "iaas_name": "test", ...
- Javascript封装弹出框控件
1.首先先定义好弹出框的HTML结构 <div class="g-dialog-contianer"> <div class="dialog-windo ...
- PHP奇怪现象
<?php $a = 0.29; $b = (int)($a*100); echo $b; //输出28,PHP版本5.6.24 echo 0.1 + 0.2 - 0.3; //输出5.5511 ...
- React Route
有幸你能看来我的这篇文章,这篇文章是继React后面写的Reactroute,所以你需要看看我前面整理的React笔记再来看Reactroute可能更容易 All the work we've don ...
- UITableViewCell上面添加UIWebView
首先创建一个webView对象和 private var webViewcell : UIWebView? 在viewDidLoad里面设置创建webViewcell,设置属性并用kvo监听webVi ...
- GPS定位开发
1.概述 在iOS开发中,要想加入地图和定位功能这2大功能,必须基于2个框架进行开发 (1)Map Kit :用于地图展示 (2)Core Location :用于地理定位 2个热门专业术语: LBS ...
- Selenium 中文API
Selenium 中文API 转自:http://blog.csdn.net/lh9529/article/details/3946567 概念 Selenium 通过命令进行驱动.Seleniu ...
- Gulp构建
整理自 https://markpop.github.io/2014/09/17/Gulp%E5%85%A5%E9%97%A8%E6%95%99%E7%A8%8B/ 已经有package.json 第 ...