博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
FreeMarker | 取值篇
阅读量:6035 次
发布时间:2019-06-20

本文共 3845 字,大约阅读时间需要 12 分钟。

hot3.png

第一部分:Spring Boot 集成 FreeMarker

1、pom.xml 需要这些依赖

org.springframework.boot
spring-boot-starter-freemarker
org.springframework.boot
spring-boot-starter-web

2、yml

我喜欢 yml,所以删掉 application.properties,新建 application.yml

3、配置

application.yml 中添加如下配置

# freemarkerspring:      freemarker:                template-loader-path: classpath:/templates/                cache: false                charset: UTF-8                check-template-location: true                content-type: text/html                expose-request-attributes: true                expose-session-attributes: true                request-context-attribute: request                suffix: .html

4、Controller - View

package com.fengwenyi.demo.freemarker.example.controller;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.servlet.ModelAndView;/** * @author Wenyi Feng */@Controllerpublic class HomeController {    @RequestMapping("/")    public ModelAndView home() {        ModelAndView mv = new ModelAndView("home");        return mv;    }}
    
freemarker

Hello FreeMarker!

Welcome to Learn FreeMarker With Me!
目录

5、运行效果

Hello World

第二部分:取值

1、学过 freemarker 的的童鞋都知道,需要在spring的配置文件中添加上一些属性,那Spring boot 应该怎么做呢?

# freemarkerspring:      freemarker:                template-loader-path: classpath:/templates/                cache: false                charset: UTF-8                check-template-location: true                content-type: text/html                expose-request-attributes: true                expose-session-attributes: true                request-context-attribute: request                suffix: .html                settings:                      #number_format: '0.##'   #数字格式化,无小数点,如果有小数,只保留两位小数                      number_format: '0.#############################################'                      date_format: 'yyyy_MM_dd HH:mm:ss' # 这个是对java.sql.Date起作用                      # boolean_format: 'Y, N' # 一般不这么配置,因为我们需要逻辑值,如果需要,我们可以在需要的地方将Boolean->String

2、Controller

@GetMapping("/get")public ModelAndView getValue() {    ModelAndView mv = new ModelAndView("get-value");    mv.addObject("intVar", 100);    mv.addObject("longVar", 100000000000000L);    mv.addObject("stringVar", "我是字符串");    mv.addObject("doubleVar", Math.PI);//        mv.addObject("doubleVar", 3.14);//        mv.addObject("doubleVar", 3.1415D);    mv.addObject("booleanVar", Boolean.TRUE);    mv.addObject("dateUtilVar", new Date());    mv.addObject("dateSqlVar", new java.sql.Date(new Date().getTime()));    mv.addObject("nullVar", null);    return mv;}

3、View

Type Value
Integer ${intVar}
Long ${longVar}
String ${stringVar}
Double ${doubleVar}
Boolean ${booleanVar?string('Yes', 'No')}
java.util.Date ${dateUtilVar?string('yyyy/MM/dd HH:mm:ss')}
java.sql.Date ${dateSqlVar}
null ${nullVar!}
null ${nullVar! '-'}
不存在的变量 ${notExist! '-'}

4、效果

取值

资料

1、FreeMarker 模块的代码已上传至Github:

2、学习视频:

转载于:https://my.oschina.net/fengwenyi/blog/1829938

你可能感兴趣的文章
网页视频播放器插件源码
查看>>
CentOS7 睡眠 休眠 关机 电源
查看>>
SqlServer里DateTime转字符串
查看>>
2019-4-23 plan
查看>>
固定弹层叉掉
查看>>
[编解码] 关于base64编码的原理及实现
查看>>
WinDbg配置和使用基础
查看>>
转:Object-Runtime的基本数据类型
查看>>
JMJS系统总结系列----Jquery分页扩展库(五)
查看>>
Excel技巧之——英文大小写转换(转)
查看>>
Google 翻译的妙用
查看>>
算法导论--python--插入排序
查看>>
Hydra用户手册
查看>>
常用的集合
查看>>
Unity3D工程源码目录
查看>>
杀死进程命令
查看>>
cookie 和session 的区别详解
查看>>
浮点数网络传输
查看>>
Mongodb对集合(表)和数据的CRUD操作
查看>>
面向对象类的解析
查看>>