Thymeleaf常用写法,带实例,最全!

本文详细介绍了Thymeleaf模板引擎的常见用法,包括链接、属性、内联、循环、条件判断等,并给出了实际示例。Thymeleaf作为Spring Boot官方推荐的模板引擎,提供了丰富的功能,如th:href、th:src、th:if、th:each等。同时,文章还提及了处理map、list、string、date和number的方法。

Thymeleaf:
市面上主流的 Java 模板引擎有:JSP、Velocity、Freemarker、Thymeleaf
JSP本质也是模板引擎,Spring Boot 官方推荐使用 “Thymeleaf”模板引擎

Thymeleaf 官网:https://www.thymeleaf.org/
Thymeleaf 在Github 的主页:https://github.com/thymeleaf/thymeleaf
Thymeleaf 参考手册:https://blog.youkuaiyun.com/zrk1000/article/details/72667478/

1.th

<a th:href="@{/admin/examination/paper/initAdd}"></a>

th:href@{} : 链接

<a th:href="@{/web/uc/order/orderInfo?orderId={orderId}(orderId=${order['id']})}" class="c-999">详情</a>

th:href@{}:带参数

<script type="text/javascript" 	th:src="@{
  
  {path}/admin/libs/plugins/layer/laydate/laydate.js?v={v}(path=${staticPath},v=${v})}">
</script>
### Thymeleaf入门指南 #### 什么是ThymeleafThymeleaf 是一种现代服务器端 Java 模板引擎,用于生成动态 Web 内容。它支持 HTML、XML、JavaScript 和 CSS 文件中的模板处理[^1]。 --- #### 如何配置Thymeleaf? 在 Spring Boot 中,默认已经集成了 Thymeleaf 的依赖项。如果需要自定义配置,可以在 `application.properties` 或 `application.yml` 文件中设置属性。例如: ```properties spring.thymeleaf.prefix=classpath:/templates/ spring.thymeleaf.suffix=.html spring.thymeleaf.encoding=UTF-8 spring.thymeleaf.mode=HTML spring.thymeleaf.cache=false ``` 上述配置中,`spring.thymeleaf.cache=false` 表示关闭页面缓存功能,这有助于开发阶段实时查看页面修改效果。 --- #### 数据传递至前端的方式 通过控制器向模型添加数据后,在 Thymeleaf 页面中可以通过 `${}` 占位符访问这些变量。例如: ```java @Controller public class HelloController { @GetMapping("/greeting") public String greeting(@RequestParam(name = "name", required = false, defaultValue = "World") String name, Model model) { model.addAttribute("name", name); return "greeting"; } } ``` 对应的 Thymeleaf 页面代码如下: ```html <!DOCTYPE html> <html xmlns:th="http://www.thymeleaf.org"> <head> <title>Greeting</title> </head> <body> <p th:text="'Hello, ' + ${name} + '!'" /> </body> </html> ``` 此方法允许将后台传来的数据嵌入到静态 HTML 文档中并渲染给客户端[^3]。 --- #### JavaScript与Thymeleaf集成 当需要将后端数据传递到前端的 JavaScript 脚本时,可以利用 Thymeleaf 提供的特殊标签实现。以下是两种常见方式: ##### 方法一:直接赋值 ```html <script th:inline="javascript"> var size = [[${test.size()}]]; console.log(size); </script> ``` 此处 `[[]]` 结构表示将表达式的计算结果注入到脚本中[^2]。 ##### 方法二:条件判断 对于更复杂的逻辑操作,比如仅在特定条件下执行某些脚本语句,则可采用以下形式: ```html <script th:inline="javascript"> /*[# th:if="${test.size() eq 3}"]*/ console.info('Size is three'); /*[/]*/ </script> ``` 这种写法类似于 JSP EL 表达式中的 `<c:if>` 标签。 --- #### 控制器编实例 下面展示了一个简单的 Controller 类,演示如何返回视图以及携消息参数: ```java import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.GetMapping; @Controller public class HelloController { @GetMapping("/hello") public String hello(Model model){ model.addAttribute("message", "你好,世界!"); return "index"; // 返回名为 index.html 的模板文件 } } ``` 这里的关键在于使用 `Model` 对象存储要共享的数据,并指定目标视图名称以便加载相应的模板资源。 --- #### 总结 以上介绍了关于 Thymeleaf 基础概念及其基本应用技巧的内容,包括但不限于基础配置调整、前后端交互机制探讨等方面的知识点。希望对你有所帮助! ---
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值