博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
FreeMarker | 取值篇
阅读量:6037 次
发布时间: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

你可能感兴趣的文章
静态static成员变量、函数
查看>>
Cacti+Nagios(三):安装Nagios
查看>>
sshd服务
查看>>
免费制冷:数据中心节能系统最佳实践
查看>>
Spring事务管理
查看>>
SSH限制IP登录与禁止多次尝试
查看>>
二维码生成类分享
查看>>
深入Android开发之--理解View#onTouchEvent
查看>>
快来给宝宝打分
查看>>
vue-lazyload源码分析
查看>>
Hive1.0.0安装
查看>>
你所听到的技术原理、技术本质到底是什么?
查看>>
BGP笔记(一)
查看>>
拷贝构造函数是必须要带引用类型的参数的, 而且这也是编译器强制性要求的...
查看>>
VMware中centos6.5mini设置静态IP
查看>>
Linux文件查找之find详解
查看>>
iptables nat表转发
查看>>
App自动化测试必备之adb使用
查看>>
Apache服务器的基本配置(详细)
查看>>
使用shell批量添加用户
查看>>