SpringBoot基础篇- 静态资源的访问及Thymeleaf模板引擎的使用
Posted lfalex
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SpringBoot基础篇- 静态资源的访问及Thymeleaf模板引擎的使用相关的知识,希望对你有一定的参考价值。
一、描述
在应用系统开发的过程中,不可避免的需要使用静态资源(浏览器看的懂,他可以有变量,例:html页面,css样式文件,文本,属性文件,图片等);
并且SpringBoot内置了Thymeleaf模板引擎,可以使用模板引擎进行渲染处理,默认版本为2.1,可以重新定义Thymeleaf的版本号,在maven的配置文件中配置如下内容:
<properties> <thymeleaf.version>3.0.2.RELEASE</thymeleaf.version> <thymeleaf-layout-dialect.version>2.1.1</thymeleaf-layout-dialect.version> </properties>
二、默认静态资源的映射
Spring Boot默认提供静态资源目录位置需置于classpath下,目录名需符合如下规则:
- /static
- /public
- /resources
/META-INF/resources
SpringBoot默认会从META-INF/resources下的static、public、resources三个目录下查找对应的静态资源,而模板引擎的模板默认需要放在resources的templates目录下;
三、示例
1、静态资源的访问
- 创建maven项目,在resources目录下创建static、templates文件夹,将图片success.jpg放置在static中;
- 创建启动类,详情请看:(一)SpringBoot基础篇- 介绍及HelloWorld初体验;
- 启动项目,访问,http://localhost:8080/success.jpg,图片即可在页面展示成功;
2、Thymeleaf模板引擎
①、使用Thymeleaf前,需引入依赖类库:
<!-- 使用thymeleaf模板--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency>
②、创建启动类Application.java;
③、创建控制层HelloController.java;
package com.cn.controller;/** * @Description: Created by xpl on 2018-05-01 13:23. */ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.servlet.ModelAndView; import java.util.HashMap; /** * Created by xpl on 2018-05-01 13:23 **/ @RestController public class HelloController { @RequestMapping("/getThymeleaf") public ModelAndView getThymeleaf() { ModelAndView modelAndView = new ModelAndView("hello"); modelAndView.addAllObjects(new HashMap<String, String>(){ { this.put("name","Andy"); } }); return modelAndView; } }
④、创建Thymeleaf模板hello.html,访问变量使用th:进行访问;
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title> Title</title> </head> <body> <h1>Hello,</h1> <h1 th:text="${name}"/> </body> </html>
⑤、启动项目,并访问http://localhost:8080/getThymeleaf,如下:
目录结构如下:
以上是关于SpringBoot基础篇- 静态资源的访问及Thymeleaf模板引擎的使用的主要内容,如果未能解决你的问题,请参考以下文章
springboot + thymeleaf静态资源访问404
SpringBoot2.x基础篇:将静态资源打包为WebJars
SpringBoot、Thymeleaf、Gradle:不访问静态资源,css 不显示
springboot学习入门简易版四---springboot2.0静态资源访问及整合freemarker视图层