如何在@RequestMapping SpringBoot + Thymeleaf

时间:2016-12-30 18:09:01

标签: spring spring-mvc thymeleaf request-mapping

我对Spring Boot中的@RequestMapping有疑问。

我想做login()方法,而不是用户角色,他将重定向到不同的路径。

例如,我有3个用户角色:

  • 管理员
  • 学生
  • 教师

在百里香中我使用形式:行动如:

<form th:action="@{/login}" th:object="${userR}" method="post">

我制定方法:

@RequestMapping(value = "/login", method=RequestMethod.POST)
public String login(Model model, @ModelAttribute("userR") User user) {

对于那3个角色,我总是记录到地址/登录,但我想登录

  • 地址/管理
  • 地址/学生
  • 地址/教师

如何为每个角色设置此网址?

例如,只要make和&#34;返回地址/学生&#34;将我重定向到正确的页面,但网址仍然是&#34;地址/登录&#34;。

每个角色都会有所不同@Controller

1 个答案:

答案 0 :(得分:1)

在Spring中,当您将URL作为“地址/学生”返回时,它将被视为转发请求,因此不会进行往返客户端,因此不会更改客户端的URL。

如果要更改URL,请求必须是重定向请求,在这种情况下,请求将进行到客户端的往返。无论是Servlet框架还是Spring框架都是如此。

在Spring中执行此操作的正确方法是在URL前加上文本“redirect:”
例如:return "redirect:xyzPage"