thymeleaf基本使用

本文详细介绍了Thymeleaf模板引擎的使用方法,包括公共代码片段的定义与引入、循环遍历列表、条件判断及session对象的使用。通过具体示例,展示了如何在网页中动态插入数据,实现页面的个性化展示。

引入:

<html lang="en" xmlns:th="http://www.thymeleaf.org">

1.公共片段

定义公共代码
<div id = "code">公共代码</div>
引入
<div th:repace="文件名 :: #code"></div>

2.循环

<ul>
	<li th:each="user : ${userList}" th:text="${user.userName}"></li>
</ul>

3.条件判断

<h3 th:if="not ${#lists.isEmpty(userList)}">list有值</h3>

4.session

<div th:object="${session.user}">
	<p>
		姓名:<span th:text="*{username}">xxxx</span>
	</p>
	<p>
		性别:<span th:text="*{gender == 1 ? '女' : '男'}">xxxx</span>
	</p>
</div>
<think>嗯,用户想了解Spring Boot和Thymeleaf基本配置与使用。好的,我需要先理清楚这两个技术的基本概念以及它们如何结合使用。首先,Spring Boot是一个用于简化Spring应用开发的框架,可以快速搭建项目,而Thymeleaf是一个服务器端的Java模板引擎,适合用于Web应用中的视图层。 首先,用户可能需要知道如何创建一个Spring Boot项目并集成Thymeleaf。我应该从项目创建开始,比如使用Spring Initializr,添加Thymeleaf依赖。然后介绍配置文件,比如application.properties中的相关设置,比如关闭缓存,这样开发时修改模板不用重启。 接下来是基本使用步骤,比如创建Controller,编写Thymeleaf模板,如何传递数据,以及常用的语法。比如在HTML中使用th:text,表单处理,迭代循环等。可能需要给出代码示例,这样用户更容易理解。 还要注意Thymeleaf的默认目录是classpath:/templates/,所以需要说明HTML文件应该放在哪里。另外,静态资源如CSS、JS通常放在static目录下,这也是需要提到的点。 用户可能遇到的问题比如模板不生效,或者静态资源无法加载,这时候可能需要检查配置是否正确,路径是否正确。另外,Thymeleaf的语法可能有些用户不熟悉,需要简单举例说明常用标签和表达式。 可能还需要提到Thymeleaf的布局功能,比如使用th:fragment和th:replace来复用页面片段,这对实际项目开发很有帮助,但如果是基本配置与使用,可能不需要深入,简单提一下或者作为扩展内容。 还有,是否需要涉及MVC结构?比如Controller到View的数据传递,Model的使用,表单绑定等。这些都是基本使用中常见的部分,应该涵盖。 总结一下,回答的结构应该是:先介绍Spring Boot和Thymeleaf,然后创建项目,添加依赖,配置,接着是Controller和模板的编写,数据传递,常用语法,最后可能给出一个简单示例和常见问题。确保步骤清晰,代码示例正确,并且解释到位,避免用户在实际操作时遇到障碍。</think>以下是 Spring Boot 整合 Thymeleaf基本配置与使用指南,分步骤说明: --- ### **一、环境准备** 1. **创建 Spring Boot 项目** 通过 [Spring Initializr](https://start.spring.io/) 创建项目,勾选: - **Spring Web**(Web 支持) - **Thymeleaf**(模板引擎依赖) 2. **项目结构** 生成的标准目录结构: ``` src ├─main │ ├─java │ │ └─com/example/demo │ │ ├─controller │ │ └─DemoApplication.java │ └─resources │ ├─static # 存放静态资源(CSS/JS/图片) │ ├─templates # 存放 Thymeleaf 模板 │ └─application.properties ``` --- ### **二、基础配置** 在 `application.properties` 中添加: ```properties # 开启模板缓存(生产环境建议true,开发时设为false) spring.thymeleaf.cache=false # 模板编码 spring.thymeleaf.encoding=UTF-8 # 模板后缀(默认.html) spring.thymeleaf.suffix=.html # 模板路径(默认classpath:/templates/) spring.thymeleaf.prefix=classpath:/templates/ ``` --- ### **三、基础使用** #### 1. **编写 Controller** ```java @Controller public class HelloController { @GetMapping("/hello") public String hello(Model model) { // 向模板传递数据 model.addAttribute("message", "Hello Thymeleaf!"); model.addAttribute("list", Arrays.asList("Java", "Python", "C++")); return "hello"; // 对应 templates/hello.html } } ``` #### 2. **创建 Thymeleaf 模板(hello.html)** ```html <!DOCTYPE html> <html xmlns:th="http://www.thymeleaf.org"> <head> <meta charset="UTF-8"> <title>Thymeleaf Demo</title> </head> <body> <!-- 显示普通文本 --> <h1 th:text="${message}"></h1> <!-- 条件判断 --> <div th:if="${not #lists.isEmpty(list)}"> <!-- 循环遍历 --> <ul> <li th:each="item : ${list}" th:text="${item}"></li> </ul> </div> <!-- 链接处理(自动生成上下文路径) --> <a th:href="@{/home}">返回首页</a> </body> </html> ``` --- ### **四、常用语法** #### 1. **变量表达式 `${}`** ```html <p th:text="${user.name}"></p> ``` #### 2. **链接表达式 `@{}`** ```html <link th:href="@{/css/style.css}" rel="stylesheet"> ``` #### 3. **条件判断 `th:if` / `th:unless`** ```html <div th:if="${user.isAdmin}">管理员权限</div> ``` #### 4. **循环遍历 `th:each`** ```html <tr th:each="user : ${users}"> <td th:text="${user.id}"></td> </tr> ``` #### 5. **表单绑定** Controller: ```java @PostMapping("/submit") public String submitForm(@ModelAttribute User user) { // 处理表单数据 return "result"; } ``` 模板: ```html <form th:action="@{/submit}" method="post"> <input type="text" th:name="username"> <button type="submit">提交</button> </form> ``` --- ### **五、静态资源处理** 将 CSS/JS 文件放在 `resources/static` 目录下: ```html <!-- 引用静态资源 --> <script th:src="@{/js/main.js}"></script> <link th:href="@{/css/style.css}" rel="stylesheet"> ``` --- ### **六、布局模板(进阶)** 通过 `th:fragment` 和 `th:replace` 实现页面复用: 1. **定义公共片段(common.html)** ```html <!DOCTYPE html> <html xmlns:th="http://www.thymeleaf.org"> <head> <th:block th:fragment="head"> <meta charset="UTF-8"> <title>公共标题</title> </th:block> </head> </html> ``` 2. **引用片段** ```html <head th:replace="common :: head"></head> ``` --- ### **七、常见问题** 1. **模板不生效** - 检查文件是否放在 `templates` 目录。 - 确保 Controller 返回的视图名与模板文件名一致。 2. **静态资源404** - 确认文件路径正确(如 `static/css/style.css` 对应 `@{/css/style.css}`)。 3. **Thymeleaf 语法不解析** - 检查 HTML 是否添加命名空间:`xmlns:th="http://www.thymeleaf.org"`。 --- 通过以上步骤,即可快速上手 Spring Boot + Thymeleaf 的基础开发!
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值