第一次使用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的更多相关文章

  1. freemarker迭代list、map等常规操作,将数据放到模板中

    转自:https://blog.csdn.net/wickedvalley/article/details/65937189 一.controller开始准备模型.数据1.po类 package co ...

  2. freemarker中遍历list<map<String,String>>

    <#list var as map><tr> <#list map?keys as itemKey> //关键点    <#if itemKey=" ...

  3. springboot配置server相关配置&整合模板引擎Freemarker、thymeleaf&thymeleaf基本用法&thymeleaf 获取项目路径 contextPath 与取session中信息

    1.Springboot配置server相关配置(包括默认tomcat的相关配置) 下面的配置也都是模板,需要的时候在application.properties配置即可 ############## ...

  4. SpringMVC同时支持多视图(JSP,Velocity,Freemarker等)的一种思路实现

    在基于SpringMVC的项目中有时需要同时使用多种视图格式,如jsp,velocity及freemarker等,通过不同的请求路径配置规则,映射到不同的视图文件.下面我提供一种思路,通过视图模板文件 ...

  5. Spring Boot 整合 Freemarker,50 多行配置是怎么省略掉的?

    Spring Boot2 系列教程接近完工,最近进入修修补补阶段.Freemarker 整合貌似还没和大家聊过,因此今天把这个补充上. 已经完工的 Spring Boot2 教程,大家可以参考这里: ...

  6. Spring Boot2 系列教程(十)Spring Boot 整合 Freemarker

    今天来聊聊 Spring Boot 整合 Freemarker. Freemarker 简介 这是一个相当老牌的开源的免费的模版引擎.通过 Freemarker 模版,我们可以将数据渲染成 HTML ...

  7. Spring Boot 整合 Freemarker

    Spring Boot 整合 Freemarker 1.Freemarker 简介 2.Spring Boot 整合 Freemarker 2.1 创建工程 2.2 创建类 2.3 其他配置 原文地址 ...

  8. spring mvc+mybatis+多数据源切换

    spring mvc+mybatis+多数据源切换,选取oracle,mysql作为例子切换数据源.oracle为默认数据源,在测试的action中,进行mysql和oracle的动态切换. web. ...

  9. Spring 4 官方文档学习(十二)View技术

    关键词:view technology.template.template engine.markup.内容较多,按需查用即可. 介绍 Thymeleaf Groovy Markup Template ...

随机推荐

  1. html css jquery 回到顶部按钮

    今天做了个回到顶部的功能,在这里记录一下,有需要可以拿去试试! CSS部分,很简单就一个class /*回到顶部*/ .back-top { position: fixed; right: 15px; ...

  2. Java泛型的定义以及对于<? extends T>和<? super T>

    Java 中对于泛型方法的定义: public <T> T getT(){ .....相关代码; } 其中我对<T>的理解就是申明只是一个泛型方法的标记,T是返回的类型. 对于 ...

  3. OpenGL杂七杂八

    Projection Matrix 投影矩阵 3D -> 2D PFD_DOUBLEBUFFER 双缓冲 在图形图象处理编程过程中,双缓冲是一种基本的技术.我们知道,如果窗体在响应WM_PAIN ...

  4. Linux Curl常用命令使用【转】

    Curl是Linux下一个很强大的http命令行工具,其功能十分强大. 1)读取网页 $ curl linuxidc.com">http://www.linuxidc.com 2)保存 ...

  5. 解决IE兼容总汇【转】

    转载声明: 藏羚羊 2014年04月16日 于 前端开拓者 发表 本文固定链接: http://www.frontopen.com/2552.html 1. <meta http-equiv=“ ...

  6. maven中在本地maven仓库添加jar包

    Maven 手动添加 JAR 包到本地仓库 Maven 确确实实是个好东西,用来管理项目显得很方便,但是如果是通过 Maven 来远程下载 JAR 包的话,我宿舍的带宽是4兆的,4个人共用,有时候用  ...

  7. 5.Struts2的OGNL表达式

    1.创建javaweb项目Struts2_Part4_OGNL并在WebRoot下的WEB-INF下的lib文件夹下添加如下jar文件 commons.jar commons.jar freemark ...

  8. 转换汉字为字符原始码 如:汉字 -> &#27721;

    $output = mb_convert_encoding($str, 'HTML-ENTITIES', $encode);$encode为输入的比如utf-8,因为utf-8可以包括英文,中文等字符 ...

  9. C#发送邮件类

    一.定义邮件发送类 /// <summary> /// 发送邮件 /// </summary> public class MailHelper { #region 私有变量 p ...

  10. JWT 多网站单点登录,放弃session

    多个网站之间的登录信息共享, 基于cookie - session的登录认证方式跨域等比较复杂.采用基于算法的认证方式, JWT(json web token)的方式. --------------- ...