如何在 @RequestMapping SpringBoot + Thymeleaf 中获得 3 个不同的路径 url

How can I get 3 different path url in @RequestMapping SpringBoot + Thymeleaf

我对 Spring 引导中的 @RequestMapping 有疑问。

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

例如我为用户设置了 3 个角色:

在 thymeleaf 中,我使用 th:action 形式,例如:

<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 个角色,我总是登录到 address/login,但我想登录到

如何为每个角色设置此 url 路径?

例如,让 if 和 "return address/student" 将我重定向到正确的页面,但 url 仍然是 "address/login"。

每个角色都会不同@Controller

在 Spring 中,当您 return 将 URL 作为 "address/student" 时,它将被视为转发请求,因此不会往返于客户端因此不会更改客户端的 URL 。

如果要更改 URL,请求必须是重定向请求,在这种情况下,请求将往返于客户端。不管是Servlet框架还是Spring框架都是如此。

在 Spring 中正确的做法是在 URL 前加上文字 "redirect:"
例如:return "redirect:xyzPage"