spring mvc 返回提示消息并跳转

十年基民 2015-10-23 04:29:17
其实业务很简单~
用户管理模块~
新增一个用户~
返回新增成功~
跳转到用户List页面。

以前用struts的时候,貌似是通过response.getWriter().write返回的;
现在用springmvc,这种方式自己测试过,结果是不可行;
然后试了一下model传参,然后redirect,测试结果是:页面地址中会显示消息,刷新页面会重复提示消息,体验不佳。

求大神指引一个方向~


系统推荐的大神我都邀请了~
最大只能给一百分了~
...全文
4042 14 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_1187001749 2015-10-23
  • 打赏
  • 举报
回复

@RequestMapping("/initOffer" )
	public ModelAndView initOffer(User user,    Model model) {
		
		// user信息insert 到数据库操作
		
		mav.addObject("userList", 获取用户列表方法);
        mav.addObject("message","保存成功");


		return new ModelAndView(new RedirectView("version"));  
	}	


十年基民 2015-10-23
  • 打赏
  • 举报
回复
引用 12 楼 qq_18560765 的回复:
[quote=引用 7 楼 xia635317478 的回复:] [quote=引用 1 楼 qq_18560765 的回复:] 用ModelAndView返回就行了吧?
新增完成之后,提示消息,返回到list页面,此时刷新页面,会重复提交数据~ 还是我写的有问题吗? [/quote] 因为你setViewName是通过ViewNameResolver自动匹配的,当返回到list页面时,地址还是显示的是你点击添加后的地址,所以刷新页面时,还是走的相同的方法,数据重复提交,你可以在方面里面加个标识控制一下就行。[/quote] 嗯,也是一个不错的思路,我会去尝试的; 刚跟boss沟通了一下,重复提交就重复提交吧,有报错提示就行了~ 感谢大婶们~
wxg022 2015-10-23
  • 打赏
  • 举报
回复
引用 7 楼 xia635317478 的回复:
[quote=引用 1 楼 qq_18560765 的回复:] 用ModelAndView返回就行了吧?
新增完成之后,提示消息,返回到list页面,此时刷新页面,会重复提交数据~ 还是我写的有问题吗? [/quote] 因为你setViewName是通过ViewNameResolver自动匹配的,当返回到list页面时,地址还是显示的是你点击添加后的地址,所以刷新页面时,还是走的相同的方法,数据重复提交,你可以在方面里面加个标识控制一下就行。
十年基民 2015-10-23
  • 打赏
  • 举报
回复
引用 10 楼 zhe_noob 的回复:
[quote=引用 8 楼 xia635317478 的回复:] [quote=引用 6 楼 zhe_noob 的回复:] @Controller public class EmpListController { @Resource private EmpDao empDao; @RequestMapping("/emp_list.do") public ModelAndView list() { ModelAndView mav= new ModelAndView(); List<Emp> empList = empDao.findAll(); mav.getModel().put("empList", empList); mav.setViewName("emp_list"); return mav; } } 或者MVC?
新增完成之后,提示消息,返回到list页面,此时刷新页面,会重复提交数据~ 还是我写的有问题吗? [/quote] 啥意思 刷新 list 页面 会 重复提交 这个页面的数据?[/quote] 是之前在新增页面-点击确定按钮提交的数据~ 流程是这样的: 我点击新增按钮,跳转到新增页面,输入完信息之后,点击确定: 跳转到add的control里面,插入表,返回到list页面,并带上提示消息。 此时F5刷新页面,就会重复上一次点击确定按钮的操作。
这个逗b 2015-10-23
  • 打赏
  • 举报
回复
引用 8 楼 xia635317478 的回复:
[quote=引用 6 楼 zhe_noob 的回复:] @Controller public class EmpListController { @Resource private EmpDao empDao; @RequestMapping("/emp_list.do") public ModelAndView list() { ModelAndView mav= new ModelAndView(); List<Emp> empList = empDao.findAll(); mav.getModel().put("empList", empList); mav.setViewName("emp_list"); return mav; } } 或者MVC?
新增完成之后,提示消息,返回到list页面,此时刷新页面,会重复提交数据~ 还是我写的有问题吗? [/quote] 啥意思 刷新 list 页面 会 重复提交 这个页面的数据?
十年基民 2015-10-23
  • 打赏
  • 举报
回复
难道说~这种重复提交数据的行为不限制,只是通过提示消息告诉用户已经重复提交???然后用户非要重新提交到时候再提示个错误消息已经存在?

十年基民 2015-10-23
  • 打赏
  • 举报
回复
引用 6 楼 zhe_noob 的回复:
@Controller public class EmpListController { @Resource private EmpDao empDao; @RequestMapping("/emp_list.do") public ModelAndView list() { ModelAndView mav= new ModelAndView(); List<Emp> empList = empDao.findAll(); mav.getModel().put("empList", empList); mav.setViewName("emp_list"); return mav; } } 或者MVC?
新增完成之后,提示消息,返回到list页面,此时刷新页面,会重复提交数据~ 还是我写的有问题吗?
十年基民 2015-10-23
  • 打赏
  • 举报
回复
引用 1 楼 qq_18560765 的回复:
用ModelAndView返回就行了吧?




新增完成之后,提示消息,返回到list页面,此时刷新页面,会重复提交数据~
还是我写的有问题吗?
这个逗b 2015-10-23
  • 打赏
  • 举报
回复
@Controller public class EmpListController { @Resource private EmpDao empDao; @RequestMapping("/emp_list.do") public ModelAndView list() { ModelAndView mav= new ModelAndView(); List<Emp> empList = empDao.findAll(); mav.getModel().put("empList", empList); mav.setViewName("emp_list"); return mav; } } 或者MVC?
zwdsmileface 2015-10-23
  • 打赏
  • 举报
回复
spring MVC框架controller间跳转,若重定向可以利用利用RedirectAttributes进行传值,如下 redirectAttributes.addFlashAttribute("alertMsg", "传递信息"); 注意:Spring在3.1才提供了这个能力。
这个逗b 2015-10-23
  • 打赏
  • 举报
回复
if (action.equals("add")) { String id = request.getParameter("id"); String content = request.getParameter("content"); String memo = request.getParameter("memo"); try { Use u = new Use(); u.setId(id); u.setContent(content); u.setMemo(memo); conn.insert(u); response.sendRedirect("list.do?page=0"); } catch (Exception e) { e.printStackTrace(); } 随便写的 看看吧
十年基民 2015-10-23
  • 打赏
  • 举报
回复
引用 1 楼 qq_18560765 的回复:
用ModelAndView返回就行了吧?
我试试先~
wxg022 2015-10-23
  • 打赏
  • 举报
回复
用ModelAndView返回就行了吧?
十年基民 2015-10-23
  • 打赏
  • 举报
回复
ajax这种方式,我想过了,考虑到代码返工率高,作为备选方案; 而且我觉得这么流行的框架应该有办法可以搞得定的~

81,122

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧