大纲

(1)在pom.xml中引入freemarker;

(2)如何关闭freemarker缓存

(3)编写模板文件.ftl

(4)编写访问文件的controller

在pom.xml中引入freemarker

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-freemarker</artifactId>
</dependency>

如何关闭freemarker缓存

########################################################
###FREEMARKER (FreeMarkerAutoConfiguration)
########################################################
spring.freemarker.allow-request-override=false
spring.freemarker.cache=true
spring.freemarker.check-template-location=true
spring.freemarker.charset=UTF-8
spring.freemarker.content-type=text/html
spring.freemarker.expose-request-attributes=false
spring.freemarker.expose-session-attributes=false
spring.freemarker.expose-spring-macro-helpers=false
#spring.freemarker.prefix=
#spring.freemarker.request-context-attribute=
#spring.freemarker.settings.*=
#spring.freemarker.suffix=.ftl
#spring.freemarker.template-loader-path=classpath:/templates/ #comma-separated list
#spring.freemarker.view-names= # whitelist of view names that can be resolved

编写模板文件.ftl

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://www.thymeleaf.org"
xmlns:sec="http://www.thymeleaf.org/thymeleaf-extras-springsecurity3">
<head>
<title>Hello World!</title>
</head>
<body>
<h1>Hello.v.2</h1>
<p>${hello}</p>
</body>
</html>

编写访问文件的controller

@RequestMapping("/helloFtl")
public String helloFtl(Map<String,Object> map){
map.put("hello","from TemplateController.helloFtl");
return "/helloFtl";
}

代码如下:

Controller类

  1. package com.kfit;
  2.  
  3. import java.util.Map;
  4.  
  5. import org.springframework.stereotype.Controller;
  6. import org.springframework.web.bind.annotation.RequestMapping;
  7.  
  8. /**
  9. * 注意:
  10. * 1.在Thymeleaf 模板文件中,标签是需要闭合的,3.0之前是需要闭合的
  11. * 2. thymeleaf 3.0+ 是可以不强制要求闭合的。
  12. *
  13. * 3. 支持同时使用多个模板引擎,比如:thymeleaf和freemarker 可以并存。
  14. *
  15.  
  16. */
  17. @Controller
  18. @RequestMapping("/templates")
  19. public class TemplatesController {
  20.  
  21. /**
  22. * 映射地址是:/templates/hello
  23. * @return
  24. */
  25. @RequestMapping("/hello")
  26. public String hello(Map<String,Object> map){
  27. //返回的是ModelAndView对象;
  28. // ModelAndView mv = new ModelAndView("hello");
  29. // return mv;
  30. map.put("name","Andy");
  31. return "hello";
  32. }
  33.  
  34. @RequestMapping("/helloFtl")
  35. public String helloFtl(Map<String,Object> map){
  36. map.put("name","Andy");
  37. return "helloFtl";
  38. }
  39.  
  40. }

模板

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="UTF-8" />
  5. <title>Insert title here</title>
  6. </head>
  7. <body>
  8. hello ${name}
  9.  
  10. </body>
  11. </html>

配置

  1. ########################################################
  2. ###FREEMARKER (FreeMarkerAutoConfiguration)
  3. ########################################################
  4. spring.freemarker.allow-request-override=false
  5. spring.freemarker.cache=false
  6. spring.freemarker.check-template-location=true
  7. spring.freemarker.charset=UTF-8
  8. spring.freemarker.content-type=text/html
  9. spring.freemarker.expose-request-attributes=false
  10. spring.freemarker.expose-session-attributes=false
  11. spring.freemarker.expose-spring-macro-helpers=false
  12. #spring.freemarker.prefix=
  13. #spring.freemarker.request-context-attribute=
  14. #spring.freemarker.settings.*=
  15. spring.freemarker.suffix=.ftl
  16. #spring.freemarker.template-loader-path=classpath:/templates/ #comma-separated list
  17. #spring.freemarker.view-names= # whitelist of view names that can be resolved

Spring boot之使用freemarker的更多相关文章

  1. spring boot ----> 常用模板freemarker和thymeleaf

    ===========================freemarker=================================== freemarker 官网:https://freem ...

  2. Spring Boot + Bootstrap + jQuery + Freemarker

    Spring Boot + Bootstrap + jQuery + Freemarker 原文地址:http://qilu.me/post/tech/2018-03-18 最近在写一些Web的东西, ...

  3. Spring Boot使用模板freemarker【从零开始学Spring Boot(转)

    视频&交流平台: à SpringBoot网易云课堂视频 http://study.163.com/course/introduction.htm?courseId=1004329008 à  ...

  4. spring boot中使用freemarker

    在做Java web开发领域,web模板引擎主要有jsp.freemarker.velocity,其中freemarker是我们常用的一种,在spring boot中使用的freemarker的方法可 ...

  5. Spring Boot 系列(五)web开发-Thymeleaf、FreeMarker模板引擎

    前面几篇介绍了返回json数据提供良好的RESTful api,下面我们介绍如何把处理完的数据渲染到页面上. Spring Boot 使用模板引擎 Spring Boot 推荐使用Thymeleaf. ...

  6. Spring Boot + Freemarker多语言国际化的实现

    最近在写一些Web的东西,技术上采用了Spring Boot + Bootstrap + jQuery + Freemarker.过程中查了大量的资料,也感受到了前端技术的分裂,每种东西都有N种实现, ...

  7. Spring Boot 揭秘与实战(七) 实用技术篇 - FreeMarker 模板引擎

    文章目录 1. FreeMaker 代替 JSP 作为页面渲染 2. 生成静态文件 3. 扩展阅读 4. 源代码 Spring Boot 提供了很多模板引擎的支持,例如 FreeMarker.Thym ...

  8. Spring Boot Freemarker特别篇之contextPath【从零开始学Spring Boot】(转)

    需求缘起:有人在群里@我:请教群主大神一个问题,spring boot  + freemarker 怎么获取contextPath 头疼死我了,网上没一个靠谱的 .我就看看之前博客中的 [Spring ...

  9. SpringBoot系列:Spring Boot使用模板引擎FreeMarker

    一.Java模板引擎 模板引擎(这里特指用于Web开发的模板引擎)是为了使用户界面与业务数据(内容)分离而产生的,它可以生成特定格式的文档,用于网站的模板引擎就会生成一个标准的HTML文档. 在jav ...

随机推荐

  1. Elasticsearch6.2集群搭建, centos7

    原文地址,转载请注明出处:https://blog.csdn.net/qq_34021712/article/details/79330028   ©王赛超 环境介绍 服务器 是否可以成为主节点 是否 ...

  2. Ansible 系统概述与部署

    Ansible 系统概述 Ansible是一款为类Unix系统开发的自由开源的配置和自动化工具.它用Python写成,类似于saltstack和Puppet但是有一个不同和优点是我们不需要在节点中安装 ...

  3. Antdesign Form 实现页面控件的赋值加载

    使用Antdesign Form时,当页面加载时,需要从后台获取数据,对Form中控件的默认赋值.看似比较简单的需求,而且Antdesign 官方文档中也有相应介绍,然后对于Form 的CheckBo ...

  4. Linux cat命令详解(连接文件并打印到标准输出设备上)

    cat:连接文件并打印到标准输出设备上 一.命令格式: cat [-AbeEnstTuv] [--help] [--version] filename 二.参数说明: -n 或 --number:由 ...

  5. css之盒模型(box,box-shadow,overflow,BFC)

    一.盒模型的概念 CSS中每一个元素都是一个盒模型(Box Model),包括HTML和body标签元素.一般称之为box model.它的本质就是一个盒子,它的属性有margin,border,pa ...

  6. Slimvoice能代替JavaScript?

    对于Slimvoice(https://slimvoice.co/),我想反对JavaScript的炒作,并对整个应用程序进行服务器端渲染.您可能会说:“用户必须在使用应用程序时重新加载每个页面,这必 ...

  7. WPF:元素绑定

    到目前为止都在讨论如何链接两个元素的绑定.但在数据驱动的应用程序中,更常见的情况是创建从不可见的对象中提取数据绑定表达式.唯一的要求是希望显示的信息必须存储在公有的属性中.WPF数据绑定基础结构不能获 ...

  8. dubbo-admin监控搭建2.6.0版本

    首先介绍一下dubbo的一个比较大的改变,那就是在2.6.1及2.6.1以后的版本当中,dubbo将一分为二,分为Dubbo-RPC和Dubbo-Admin,而在2.6.1以前的版本中Dubbo-Ad ...

  9. Linux6上安装MySQL

    MySQL安装包下载:https://www.mysql.com/downloads/ 然后选择: 把下载好的安装包传到服务器上的指定目录,然后解压: [root@master mysql]# tar ...

  10. Jenkins+GitHub 项目环境搭建和发布脚本(二)

    Jenkins+gitHub项目搭建配置 项目发布脚本 profilesScript.sh (支持不同环境配置文件) #!/bin/bash ACTIVE=$ JENKINS_PATH=/var/li ...