记得在spring mvc2中,当保存POJO到数据库后,要返回成功页面,如果这个时候要带点信息,
则要这样:
Java代码
1. //第三个参数(UserModel user)默认为绑定对象
2. @RequestMapping(value = "/user/save", method = RequestMethod.POST)
3. public ModelAndView saveUser(HttpServletRequest request, HttpServletResponse response,UserModel user) throws Exception {
4. ModelAndView mv = new ModelAndView("/user/save/result");//默认为forward模式
5.// ModelAndView mv = new ModelAndView("redirect:/user/save/result");//redirect模式
6. mv.addObject("message","保存用户成功!");
7. return mv;
8. }
//第三个参数(UserModel user)默认为绑定对象
@RequestMapping(value = "/user/save", method = RequestMethod.POST)
public ModelAndView saveUser(HttpServletRequest request, HttpServletResponse response,UserModel user) throws Exception {
ModelAndView mv = new ModelAndView("/user/save/result");//默认为forward模式
// ModelAndView mv = new ModelAndView("redirect:/user/save/result");//redirect模式
mv.addObject("message","保存用户成功!");
return mv;
}
而在spring mvc 3.1后,可以这样
Java代码
1.@RequestMapping(value = "/user/save", method = RequestMethod.POST)
2.public ModelAndView saveUser(UserModel user, RedirectAttributes redirectAttributes) throws Exception {
3. redirectAttributes.addFlashAttribute("message", "保存用户成功!");//使用addFlashAttribute,参数不会出现在url地址栏中
4. return "redirect:/user/save/result";
5.}
@RequestMapping(value = "/user/save", method = RequestMethod.POST)
public ModelAndView saveUser(UserModel user, RedirectAttributes redirectAttributes) throws Exception {
redirectAttributes.addFlashAttribute("message", "保存用户成功!");//使用addFlashAttribute,参数不会出现在url地址栏中
return "redirect:/user/save/result";
}
来个稍微完整点的例子,首先是一个表单,在其中填入一些信息:
Java代码
1.<form:form id="myform" action="saveUserDetails.action" method="POST" commandName="user">
2. <form:input type="text" name="firstName" path="firstName"/>
3. <form:input type="text" name="lastName" path="lastName"/>
4. <form:input type="text" name="email" path="email"/>
5. <input type="submit" value="submit">
6.</form:form>
7.
<form:form id="myform" action="saveUserDetails.action" method="POST" commandName="user">
<form:input type="text" name="firstName" path="firstName"/>
<form:input type="text" name="lastName" path="lastName"/>
<form:input type="text" name="email" path="email"/>
<input type="submit" value="submit">
</form:form>
则在controller中,可以这样:
Java代码
1.
2. @RequestMapping(value="/saveUserDetails.action", method=RequestMethod.POST)
3.public String greetingsAction(@Validated User user,RedirectAttributes redirectAttributes){
4.
5. someUserdetailsService.save(user);
6.
7. redirectAttributes.addFlashAttribute("firstName", user.getFirstName());
8. redirectAttributes.addFlashAttribute("lastName", user.getLastName())
9. return "redirect:success.html";
10.}
@RequestMapping(value="/saveUserDetails.action", method=RequestMethod.POST)
public String greetingsAction(@Validated User user,RedirectAttributes redirectAttributes){
someUserdetailsService.save(user);
redirectAttributes.addFlashAttribute("firstName", user.getFirstName());
redirectAttributes.addFlashAttribute("lastName", user.getLastName())
return "redirect:success.html";
}
success.html:
<div>
<h1>Hello ${firstName} ${lastName}. Your details stored in our database.</h1>
</div><br>
但如果F5的时候,会发现参数丢失,因为flash scope其实只支持redirect的,所以可以判断下:
Java代码
1.@RequestMapping(value="/success.html", method=RequestMethod.GET)
2. public String successView(HttpServletRequest request){
3. Map<String,?> map = RequestContextUtils.getInputFlashMap(request);
4. if (map!=null)
5. return "success";
6. else return "redirect:someOtherView"; //給出其他提示信息
分享到:
相关推荐
, 在精通Spring MVC4中,我们将会从头开始构建一个有用的Web应用。本书共计10章,分别介绍了快速搭建Spring Web应用、精通MVC结构、URL映射、文件上传与错误处理、创建Restful应用、保护应用、单元测试与验收测试、...
精通Spring MVC 4 中文
本文详细介绍spring MVC的原理和开发心得体会。
Spring MVC所需jar包,包含java开发中 Spring MVC架构中最常用的jar包
十三、如何给spring3 MVC中的Action做JUnit单元测试? 十四、spring mvc 转发与重定向 十五、spring mvc 处理ajax请求 十六、spring mvc 关于写几个配置文件的说明 十七、spring mvc 如何取得Spring管理的bean 十八...
Spring MVC 基于注解实例Spring MVC 基于注解实例Spring MVC 基于注解实例Spring MVC 基于注解实例Spring MVC 基于注解实例Spring MVC 基于注解实例Spring MVC 基于注解实例Spring MVC 基于注解实例Spring MVC 基于...
Spring MVC是Spring框架中用于Web应用快速开发的一个模块,其中的MVC是Model-View-Controller的缩写。作为当今业界最主流的Web开发框架,Spring MVC已经成为当前最热门的开发技能,同时也广泛用于桌面开发领域。 ...
在 Spring MVC 中, jsp 文件中尽量不要有 Java 代码, 只有 HTML 代码和"迭代(forEach)"与"判断(if)"两个jstl标签. jsp 文件只作为渲染(或称为视图 View)模板使用. 好了, 我们开始吧. 首先我们需要一个放在 WEB-INF...
spring mvc 3_demo 注解实现
第3篇是Spring MVC技术入门,包括Spring MVC的背景介绍、架构整体剖析、环境搭建、处理器与映射器的讲解、前端控制器的源码分析、多种视图解析器的介绍、请求映射与参数绑定的介绍、Validation校验与异常处理和拦截...
十三、如何给spring3 MVC中的Action做JUnit单元测试? 十四、spring mvc 转发与重定向 十五、spring mvc 处理ajax请求 十六、spring mvc 关于写几个配置文件的说明 十七、spring mvc 如何取得Spring管理的bean 十八...
Spring MVC是Spring框架中用于Web应用快速开发的一个模块,其中的MVC是Model-View-Controller的缩写。作为当今业界最主流的Web开发框架,Spring MVC已经成为当前最热门的开发技能,同时也广泛用于桌面开发领域。 ...
关于构建Sping MVC的Jar包,包括Sping2.5.6和Hibernate3.6.8
spring mvc4.1.4 源代码 spring mvc4.1.4 源代码spring mvc4.1.4 源代码spring mvc4.1.4 源代码spring mvc4.1.4 源代码
Spring mvc jar包
spring MVC数据绑定 含例子 转载自疯芒毕露的专栏 刚开始用spring mvc 做web开发时 经常会不知道如何合适绑定页面数据 用惯struts2的朋友更认为spring mvc 绑定数据不如struts2方便 本人最开始也是这么认为 经过一段...
很有用的Spring mvc中文文档
Servlet JSP和Spring MVC初学指南