Spring Boot 集成 FreeMarker
时间:2019-11-13
本文章向大家介绍Spring Boot 集成 FreeMarker,主要包括Spring Boot 集成 FreeMarker使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
使用 FreeMarker 作为页面展示
FreeMarker是一种比较简单的网页展示技术,是网页模板和数据模型的结合体。这种结合模式的好处就是,分离了网页界面设计人员和编程人员的工作,让他们各司其职。
一、build.gradle 中增加 FreeMarker 依赖:
compile "org.springframework.boot:spring-boot-starter-freemarker"
二、src/main/resources 中创建 application.properties 文件,内容如下:
spring.freemarker.cache=false spring.freemarker.charset=UTF-8 spring.freemarker.check-template-location=true spring.freemarker.content-type=text/html spring.freemarker.expose-request-attributes=true spring.freemarker.expose-session-attributes=true spring.freemarker.request-context-attribute=request
或在application.yml中增加配置:
spring: datasource: url: jdbc:mysql://172.17.7.XXX:3306/Exfresh_XXX username: ygtest password: ygtest freemarker: allow-request-override: false cache: false check-template-location: true charset: UTF-8 content-type: text/html; charset=utf-8 expose-request-attributes: false expose-session-attributes: false expose-spring-macro-helpers: false suffix: .ftl template-loader-path: classpath:/templates/
三、src/main/resources 创建目录 templates, 并在此目录创建 hello.ftl,内容如下:
<!DOCTYPE html> <html lang="en"> <body> Date: ${time?date} <br> Time: ${time?time} <br> Message: ${message} </body> </html>
四、修改 HelloController.java:
package cn.zss.zsdemo.web; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Controller; import org.springframework.ui.ModelMap; import org.springframework.web.bind.annotation.RequestMapping; import java.util.Date; @Controller public class HelloController { @Value("${application.message:Hello World}") private String message = "Hello World"; @RequestMapping("/hello") public String welcome(ModelMap model){ model.put("time",new Date()); model.put("message",this.message); return "hello"; } }
使之前 @ResponseBody 输出改成 freemarker 页面输出,并从 application.properties 取值填充页面。
五、启动应用,浏览器打开 http://localhost:8080/hello 查看页面展示:
原文地址:https://www.cnblogs.com/jerrys/p/11847190.html
- 程序猿都没对象,JS竟然有对象?
- 不懂CSS的后端难道就不是好程序猿?
- 那些公司网页隐藏的彩蛋
- 你真的会玩SQL吗?玩爆你的数据报表之存储过程编写(下)
- 你真的会玩SQL吗?透视转换的艺术
- 你真的会玩SQL吗?玩爆你的数据报表之存储过程编写(上)
- 你真的会玩SQL吗?实用函数方法汇总
- 你真的会玩SQL吗?冷落的Top和Apply
- 你真的会玩SQL吗?你所不知道的 数据聚合
- 你真的会玩SQL吗?简单的数据修改
- 将Error异常日志从普通日志中剥离
- 一步一步在Windows中使用MyCat负载均衡 下篇
- Android实现TCP断点上传,后台C#服务实现接收
- Android如何制作漂亮的自适布局的键盘
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- MySQL 常用函数汇总
- Leetcode 698. 划分为k个相等的子集
- java数据结构与算法-快速排序
- 线上环境 Linux 系统调用追踪
- Kubernetes 1.19.0——其他控制器
- leetcode树之二叉树的所有路径
- Nginx 防盗链
- MySQL见闻录 - 入门之旅
- javaAPI操作hadoop hdfs
- java中各种距离换算
- SAP Spartacus HttpParamsURIEncoder单元测试文件备份
- 微PE制作U盘启动盘,并安装Win10
- Angular单元测试如何只执行指定的测试用例,提高测试速度
- 院长智能部署Frp内网穿透---支持多系统
- dotnet OpenXML 元素 cNvPr NonVisual Drawing Properties 重复 id 标识处理