Springboot实现页面跳转需要引入依赖:
<dependency>
<groupId>org.thymeleaf</groupId>
<artifactId>thymeleaf</artifactId>
<version>3.0.11.RELEASE</version>
</dependency>
在application.propertiesde
文件中配置
spring.thymeleaf.cache=false
# 默认静态资源路径
spring.thymeleaf.prefix=classpath:/templates/
spring.thymeleaf.check-template-location=true
spring.thymeleaf.suffix=.html
spring.thymeleaf.encoding=UTF-8
spring.thymeleaf.content-type=text/html
spring.thymeleaf.mode=HTML5
在Controller中写法(新人注意,使用配置@Controller才能跳转,@RestController不能做页面跳转
)
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
@Controller
@RequestMapping(value = "/code")
public class FTLIndexController {
@Autowired
private SysUserSignDAO sysUserSignDAO;
@RequestMapping("/code/{id}")
public ModelAndView code(@PathVariable(value = "id") String id) {
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("code");
modelAndView.addObject("key", id);
System.out.println("code");
return modelAndView;
}
}
在resources
下创建templates文件夹,并创建code.html
<!DOCTYPE html>
<!--脚本解析引入-->
<html xmlns:th="http://www.thymeleaf.org">
<html>
<head>
<meta charset="UTF-8"/>
<title>Insert title here</title>
</head>
<body>
<h1>this is the hello.html in templates</h1>
<!--获取后台跳转带入值:key-->
<span th:text="${key}"></span>
</body>
</html>
此时启动项目浏览器访问配置好的地址,成功跳转。
Thymeleaf主页地址:https://www.thymeleaf.org/index.html
,事列:
<table>
<thead>
<tr>
<th th:text="#{msgs.headers.name}">Name</th>
<th th:text="#{msgs.headers.price}">Price</th>
</tr>
</thead>
<tbody>
<tr th:each="prod: ${allProducts}">
<td th:text="${prod.name}">Oranges</td>
<td th:text="${#numbers.formatDecimal(prod.price, 1, 2)}">0.99</td>
</tr>
</tbody>
</table>