我写了以下控制器:
@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";
}
EDIT:
你可以避免showHomePage
在应用程序配置文件中使用此条目的方法:
<beans xmlns:mvc="http://www.springframework.org/schema/mvc"
.....
xsi:schemaLocation="...
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd
....>
<mvc:view-controller path="/home" view-name="home" />
....
</beans>
这将转发请求/home
到一个名为home
。如果在视图生成响应之前没有要执行的 Java 控制器逻辑,则此方法适用。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)