如何在spring-mvc中将参数传递给重定向页面
我写过以下控制器:
@RequestMapping(value="/logOut", method = RequestMethod.GET ) public String logOut(Model model, RedirectAttributes redirectAttributes) { redirectAttributes.addFlashAttribute("message", "success logout"); System.out.println("/logOut"); return "redirect:home.jsp"; }
如何在home.jsp
页面上更改此代码我可以编写${message}
并查看"success logout"
当返回值包含redirect:
前缀时, viewResolver
识别为需要重定向的特殊指示。 视图名称的其余部分将被视为重定向URL。 客户端将向此redirect URL
发送新请求。 因此,您需要将映射到此URL的处理程序方法处理重定向请求。
您可以编写这样的处理程序方法来处理重定向请求:
@RequestMapping(value="/home", method = RequestMethod.GET ) public String showHomePage() { return "home"; }
您可以重写logOut
处理程序方法,如下所示:
@RequestMapping(value="/logOut", method = RequestMethod.POST ) public String logOut(Model model, RedirectAttributes redirectAttributes) { redirectAttributes.addFlashAttribute("message", "success logout"); System.out.println("/logOut"); return "redirect:/home"; }
编辑:
您可以在应用程序配置文件中使用此条目避免showHomePage
方法:
....
这会将/home
的请求转发给名为home
的视图。 如果在视图生成响应之前没有要执行的Java控制器逻辑,则此方法是合适的。