2016-12-30 71 views
1

我有问题关于@RequestMapping春季启动。我怎样才能得到3种不同的路径URL中@RequestMapping SpringBoot + Thymeleaf

我想做login()方法,其中依赖比他会被重定向到不同路径的用户角色。

比如我有用户3个角色:

  • 管理
  • 学生
  • 老师

在使用表格日我thymeleaf:动作,如:

<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个角色我一直记录到地址/登录,但我想登录到

  • 地址/联系
  • 地址/学生
  • 地址/老师

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

例如只是做如果和“返回地址/学生”重定向我到正确的页面,但该网址仍是“地址/登录”。

对于每个角色会有不同@Controller

+0

为什么你需要为每个角色不同的控制器?你可以检查一个控制器中的角色吗? – borowis

+0

是的,我可以做到这一点,但我需要不同的控制器为3种不同类型的用户。其中角色当前登录的用户,我会检查这个方法“登录()” – Carath

回答

1

在春天,当您返回的URL为“地址/学生”,那么它将被视为前进的要求,因此不会使往返于客户端,因此不会改变在客户端的URL。

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

要做到这一点Spring中的正确方法是前缀文字的网址“重定向:”
例如:return "redirect:xyzPage"

+0

谢谢你的回答,这是我一直在寻找。 – Carath

相关问题