版权声明:本文为 小异常 原创文章,非商用自由转载-保持署名-注明出处,谢谢!
本文网址:https://blog.csdn.net/sun8112133/article/details/107055984
在使用 Thymeleaf 模板引擎 时,我们常常会用到使用链接传参数的问题,本篇博客主要来讲解如何使用 Thymeleaf 链接表达式 来进行传参。
本篇博客直接以案例的方式讲解,一点废话都不多说。。
一、Controller
@Controller
public class HelloController {
@GetMapping("/result")
public ModelAndView result(){
System.out.println("result方法");
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("result");
modelAndView.addObject("id", 201);
modelAndView.addObject("info", "Hello Thymeleaf!");
return modelAndView;
}
@GetMapping("/link")
public ModelAndView link(Integer id) {
System.out.println("link方法,取到了参数id:" + id);
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("redirect:/result");
return modelAndView;
}
@GetMapping("/links")
public ModelAndView links(Integer id, String name) {
System.out.println("links方法,取到了参数id:" + id + "和name:" + name);
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("redirect:/result");
return modelAndView;
}
@GetMapping("/links/{id}/{name}")
public ModelAndView links2(@PathVariable("id") Integer id, @PathVariable("name") String name) {
System.out.println("links2方法,取到了参数id:" + id + "和name:" + name);
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("redirect:/result");
return modelAndView;
}
}
二、Thymeleaf
<body>
单参数:<a th:href="@{~/link(id=${id})}" th:text="${info}"></a><br>
多参数:<a th:href="@{~/links(id=${id}, name=${info})}" th:text="${info}"></a><br>
REST风格参数:<a th:href="@{~/links/{id}/{name}(id=${id}, name=${info})}" th:text="${info}"></a>
</body>