SpringBoot当中如何整合动态html模板:Thymeleaf
整合动态html模板:Thymeleaf:
马克- to-win:马克 java社区:防盗版实名手机尾号: 73203。
马克-to-win@马克java社区:光是静态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
<a href="/hello.do">test SpringMvc</a>
</body>
</html>
result.html:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<title>Title</title>
</head>
<body>
result <span th:text="${session.user}"> 您好</span>
</body>
</html>
下面做个例子,有form。(参考项目:bootThymeleafForm)
例4.2:
index.html:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
马克-to-win@马克java社区
<form action="login" method="post">
姓名:<input type="text" name="markname" placeholder="用户名" /><br />
<button type="submit" >提交</button>
</form>
</body>
</html>
app.java:
package com.SpringbootMaven;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
@Controller
@SpringBootApplication
public class App {
@RequestMapping("/login")
public String login(@RequestParam String markname,Model model){
System.out.println("name is"+markname);
model.addAttribute("message", markname);
return "result";
}
public static void main(String[] args) throws Exception {
SpringApplication.run(App.class, args);
}
result.html:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<title>Title</title>
</head>
<body>
result <span th:text="${message}"> 您好</span>
<div th:text="${message}">用户名</div>
</body>
</html>
测试: http://localhost:8080/index.html