这篇文章主要介绍了SpringBoot引入模板引擎实现视图解析方法流程,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习吧
视图解析
SpringBoot 不支持 JSP,需要引入第三方模板引擎进行技术进行页面渲染
1. 视图解析方式
转发、重定向以及自定义视图
2. 使用
在 pom.xml 文件中引入 Starter
<!--导入Thymeleaf-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
3. 原理
thymeleaf 自动配置类 —— ThymeleafAutoConfiguration.class
@Configuration(proxyBeanMethods = false)
@EnableConfigurationProperties(ThymeleafProperties.class)
@ConditionalOnClass({ TemplateMode.class, SpringTemplateEngine.class })
@AutoConfigureAfter({ WebMvcAutoConfiguration.class, WebFluxAutoConfiguration.class })
public class ThymeleafAutoConfiguration {}
自动配好的策略:
(1)所有的配置值都在 ThymeleafProperties
(2)配好了 SpringTemplateEngine
(3)配好了 ThymeleafViewResolverConfiguration
因此我们只需要开发页面
页面开发规则 —— ThymeleafProperties.class
public static final String DEFAULT_PREFIX = "classpath:/templates/";
public static final String DEFAULT_SUFFIX = ".html";
规则解释:
- 页面放在 /templates/ 里
- 页面都是 .html
一个小 Demo:
HTML 端
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org"> <!--重点一: 导入 thymeleaf-->
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<h1 th:text="${msg}">haha</h1> <!--通过th + $ 的方式取出值-->
<h2>
<a href="www.atguigu.com" rel="external nofollow" rel="external nofollow" th:href="${link}" rel="external nofollow" >去百度</a> <!--$符直接取值当成访问路径-->
<a href="www.atguigu.com" rel="external nofollow" rel="external nofollow" th:href="@{/link}" rel="external nofollow" >去百度</a> <!--@符拼接访问路径,自动加前置路径-->
</h2>
</body>
</html>
viewTestController 类
package com.example.demo2.controller;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
@Controller
public class viewTestController {
@GetMapping("/haha")
public String testhaha(Model model){
// model 中的数据会被放到请求域中
model.addAttribute("msg", "要好好学鸭~");
model.addAttribute("link","https://www.baidu.com/");
return "success"; // 转发到 success.html (不写后缀)
}
}
访问 http://localhost:8080/haha 可以看到 thymeleaf 自动帮我们渲染好的页面
到此这篇关于SpringBoot引入模板引擎实现视图解析的文章就介绍到这了,更多相关SpringBoot视图解析内容请搜索编程学习网以前的文章希望大家以后多多支持编程学习网!
本文标题为:SpringBoot引入模板引擎实现视图解析
- JSP页面间传值问题实例简析 2023-08-03
- Java中的日期时间处理及格式化处理 2023-04-18
- 基于Java Agent的premain方式实现方法耗时监控问题 2023-06-17
- Springboot整合minio实现文件服务的教程详解 2022-12-03
- ExecutorService Callable Future多线程返回结果原理解析 2023-06-01
- 深入了解Spring的事务传播机制 2023-06-02
- Spring Security权限想要细化到按钮实现示例 2023-03-07
- SpringBoot使用thymeleaf实现一个前端表格方法详解 2023-06-06
- Java实现顺序表的操作详解 2023-05-19
- JSP 制作验证码的实例详解 2023-07-30