2.SpringBoot利用Thymeleaf实现页面的展示

什么是Thymeleaf?

Thymeleaf是一个现代服务器端Java模板引擎,适用于Web和独立环境,能够处理HTML,XML,JavaScript,CSS甚至纯文本。

Thymeleaf的主要目标是提供一种优雅且高度可维护的模板创建方式。为实现这一目标,它以自然模板的概念为基础,将其逻辑注入模板文件,其方式不会影响模板被用作设计原型。这改善了设计沟通,缩小了设计和开发团队之间的差距。

Thymeleaf也从一开始就设计了Web标准 - 特别是HTML5 - 允许您创建完全验证的模板,如果您需要的话。

一、配置maven,在pom.xml当中配置

XML 复制代码
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>

<dependency>
    <groupId>net.sourceforge.nekohtml</groupId>
    <artifactId>nekohtml</artifactId>
    <version>1.9.22</version>
</dependency>

二、配置Thymeleaf

.yml配置

XML 复制代码
spring:
   thymeleaf:
       cache: false # 关闭页面缓存
       encoding: UTF-8 # 模板编码
       prefix: classpath:/templates/  # 页面映射路径
       suffix: .html # 试图后的后缀
       mode: HTML5 # 模板模式

.properties配置

XML 复制代码
spring.thymeleaf.prefix=classpath:/templates/

三、新建html页面

四、controller层

java 复制代码
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
public class IndexController {
    @RequestMapping("/")
    public String index(){
        return "index";
    }
}

五:访问静态资源

在配置文件当中配置 .yml

java 复制代码
spring:
    mvc:
      static-path-pattern: /static/**

引用格式

XML 复制代码
<link rel="stylesheet" href="../static/css/mystyle.css"/>

我们在进行正常访问的时候会报一下的错误,这是因为我们需要给网页标题前添加一个小图标favicon.ico。

我们需要加上这一句话在页面上。

XML 复制代码
<link rel="shortcut icon" href="../resources/favicon.ico" th:href="@{/static/favicon.ico}"/>
相关推荐
苏瞳儿14 小时前
java对数据库的增删改查
java·数据库·oracle
zhangjw3414 小时前
Java基础语法:变量、数据类型与运算符,从原理到实战
java·开发语言
yaoxin52112317 小时前
384. Java IO API - Java 文件复制工具:Copy 示例完整解析
java·开发语言·python
我叫黑大帅18 小时前
通过eino-ext如何正常indexer RAG?
后端·面试·go
NotFound48618 小时前
实战指南如何实现Java Web 拦截机制:Filter 与 Interceptor 深度分享
java·开发语言·前端
Ava的硅谷新视界19 小时前
用了一天 Claude Opus 4.7,聊几点真实感受
开发语言·后端·编程
一 乐19 小时前
医院挂号|基于springboot + vue医院挂号管理系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·论文·毕设·医院挂号管理系统
浪客川20 小时前
【百例RUST - 010】字符串
开发语言·后端·rust
鱼鳞_20 小时前
Java学习笔记_Day29(异常)
java·笔记·学习
烟锁池塘柳020 小时前
一文讲透 C++ / Java 中方法重载(Overload)与方法重写(Override)在调用时机等方面的区别
java·c++·面向对象