栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java > SpringBoot

FreeMarker | 取值篇

SpringBoot 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

FreeMarker | 取值篇

第一部分: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 中添加如下配置

# freemarker
spring:
      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;


@Controller
public class HomeController {

    @RequestMapping("/")
    public ModelAndView home() {
 ModelAndView mv = new ModelAndView("home");
 return mv;
    }

}



    
    freemarker


Hello FreeMarker! Welcome to Learn FreeMarker With Me! 目录
  • 取值 - 2018.06.13
  • 运算,集合 - 2018.06.14
  • 高级技巧 - 2018.06.15

5、运行效果

第二部分:取值

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

# freemarker
spring:
      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:
https://github.com/fengwenyi/FreeMarker-demo

2、学习视频:Java模板引擎之Freemarker

转载请注明:文章转载自 www.mshxw.com
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号