在Spring Boot中使用Thymeleaf将值传递给HTML模板的变量,可以按照以下步骤进行操作:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
# 设置Thymeleaf模板文件的位置,默认为classpath:/templates/
spring.thymeleaf.prefix=classpath:/templates/
# 设置Thymeleaf模板文件的后缀,默认为.html
spring.thymeleaf.suffix=.html
# 开启Thymeleaf的缓存,默认为true
spring.thymeleaf.cache=true
Model
对象将数据传递给HTML模板的变量。例如:@Controller
public class MyController {
@GetMapping("/hello")
public String hello(Model model) {
String message = "Hello, Thymeleaf!";
model.addAttribute("message", message);
return "hello";
}
}
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
<title>Hello</title>
</head>
<body>
<h1 th:text="${message}"></h1>
</body>
</html>
在上述代码中,th:text="${message}"
表示将message
变量的值显示在<h1>
标签中。
推荐的腾讯云相关产品:腾讯云服务器(CVM)、腾讯云数据库MySQL版、腾讯云对象存储(COS)等。
腾讯云产品介绍链接地址:
4.整合动态html模板:Thymeleaf: 光是静态html还不足够,必须html还能显示动态成分,这时我们考虑使用thymeleaf,就能完全达到springmvc的水平了,官方推荐thymeleaf。继续在上一部分的项目中,在src/main目录下,添加resources/templates/result.html:(参考目录下:bootThymeleaf) 例4.1: 1)首先在pom.xml中添加: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency> 注意:即使导了上面的包,也没有办法访问到resources根目录下的html。至于templates目录下的html,直接或sendRedirect都不能访问。唯有用下面的方法访问。 package com.SpringbootMaven; import java.io.IOException; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; @Controller @SpringBootApplication public class App { @RequestMapping("/hello") public String myhome(HttpServletResponse res,HttpSession session) throws IOException { System.out.println("spring boot springMvc 马克-to-win!"); session.setAttribute("user","马克-to-win 马克java社区创始人"); return "result"; /*下列不能再用了,在Thymeleaf框架中,sendRedirect不能跳到templates目录里的html*/ // res.sendRedirect("result.html"); } public static void main(String[] args) throws Exception { SpringApplication.run(App.class, args); } } index.html: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> </head> <body> index1 test SpringMvc </body> </html>
是否选中 | 编号 |