我写了下面的控制器:
@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"
发布于 2013-10-08 22:21:41
当返回值包含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方法:
<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控制器逻辑,那么这种方法是合适的。
https://stackoverflow.com/questions/19249049
复制相似问题