如何在 @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,但我想登录到
- address/admin
- address/student
- address/teacher
如何为每个角色设置此 url 路径?
例如,让 if 和 "return address/student" 将我重定向到正确的页面,但 url 仍然是 "address/login"。
每个角色都会不同@Controller
。
在 Spring 中,当您 return 将 URL 作为 "address/student" 时,它将被视为转发请求,因此不会往返于客户端因此不会更改客户端的 URL 。
如果要更改 URL,请求必须是重定向请求,在这种情况下,请求将往返于客户端。不管是Servlet框架还是Spring框架都是如此。
在 Spring 中正确的做法是在 URL 前加上文字 "redirect:"
例如:return "redirect:xyzPage"
我对 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,但我想登录到
- address/admin
- address/student
- address/teacher
如何为每个角色设置此 url 路径?
例如,让 if 和 "return address/student" 将我重定向到正确的页面,但 url 仍然是 "address/login"。
每个角色都会不同@Controller
。
在 Spring 中,当您 return 将 URL 作为 "address/student" 时,它将被视为转发请求,因此不会往返于客户端因此不会更改客户端的 URL 。
如果要更改 URL,请求必须是重定向请求,在这种情况下,请求将往返于客户端。不管是Servlet框架还是Spring框架都是如此。
在 Spring 中正确的做法是在 URL 前加上文字 "redirect:"
例如:return "redirect:xyzPage"