thymeleaf静态资源映射
时间: 2025-01-02 14:10:34 浏览: 8
### Thymeleaf 中配置静态资源映射
在 Spring Boot 应用程序中,默认情况下,静态资源会自动映射到 `/**` 路径模式下[^1]。这意味着任何位于 `/static`, `/public`, `/resources` 或者 `/META-INF/resources` 文件夹中的文件都可以通过根路径访问。
如果希望自定义这些静态资源的位置或改变其访问路径,则可以修改 `application.properties` 或 `application.yml` 文件来设置新的匹配规则:
对于 properties 文件来说:
```properties
spring.mvc.static-path-pattern=/resources/**
```
而对于 yml 文件则是这样写:
```yaml
spring:
mvc:
static-path-pattern: /resources/**
```
当更改了静态资源的路径之后,在 HTML 页面里引用 CSS 和 JavaScript 文件的方式也要相应更新。假设现在所有的静态资源都放在名为 resources 的目录下面,那么链接样式表就可以像下面这样做:
```html
<link rel="stylesheet" th:href="@{/resources/css/style.css}">
<script type="text/javascript" th:src="@{/resources/js/app.js}"></script>
<img alt="Image" th:src="@{/resources/images/image.png}" />
```
这里使用的 `@{}` 表达式是由 Thymeleaf 提供的一种特殊语法结构,用于构建 URL 地址并支持上下文相对地址解析等功能[^2]。
为了确保上述配置生效,还需要确认项目已经引入了必要的依赖项以便能够正常使用 Thymeleaf 及 Web 功能模块。这通常意味着 pom.xml 文件内应该包含如下所示的内容[^3]:
```xml
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
</dependencies>
```
阅读全文