1.写在前面
th:inline 有三个取值类型 (text, javascript 和 none),值为 none 什么都不做,没有效果。
所以这里只对前两个取值类型(text、javascript)做一个举例。
2.应用举例
2.1 内敛文本(th:inline=”text” )
内敛文本表达式不依赖于 html 标签,直接使用 内敛表达式 [ [ 表达式] ] 即可获取动态数据,但必须要求在父级标签上加 th:inline = “text”属性。
2.2 内敛脚本(th:inline=”javascript” )
th:inline=”javascript” 在 js 代码中获取后台的动态数据。
2.3 代码
首先是一个控制层类,其中有一个请求方法。
package com.songzihao.springboot.controller; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.RequestMapping; /** * */ @Controller public class UserController { @RequestMapping(value = "/inline") public String inline(Model model) { model.addAttribute("data","SpringBoot inline"); return "inline"; } }
然后是这个请求方法对应的html页面。
<!DOCTYPE html> <html lang="en" xmlns:th="http://www.thymeleaf.org"> <head> <meta charset="UTF-8"> <title>内敛表达式</title> </head> <body> <h2>内敛文本:th:inline="text"</h2> <div th:inline="text"> 数据:[[${data}]] </div> <hr/> <h2>内敛脚本:th:inline="javascript"</h2> <script type="text/javascript" th:inline="javascript"> function showData() { alert([[${data}]]); } </script> <button th:onclick="showData()">点击我</button> </body> </html>
我们还需要在核心配置文件中关闭Thymeleaf的缓存开关。最后启动测试。
spring.thymeleaf.cache=false
package com.songzihao.springboot; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } }