Springboot+Thymeleaf实现带参数跳转页面

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>

此时启动项目浏览器访问配置好的地址,成功跳转。
Springboot+Thymeleaf实现带参数跳转页面_第1张图片

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>

你可能感兴趣的:(Springboot)