文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

SpringBoot引入模板引擎实现视图解析

2024-04-02 19:55

关注

视图解析

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";

规则解释:

一个小 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视图解析内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     801人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     348人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     311人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     432人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     220人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯