spring mvc 返回提示消息并跳转

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

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

求大神指引一个方向~


系统推荐的大神我都邀请了~
最大只能给一百分了~
...全文
3994 14 打赏 收藏 转发到动态 举报
写回复
用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这种方式,我想过了,考虑到代码返工率高,作为备选方案; 而且我觉得这么流行的框架应该有办法可以搞得定的~
[ 2021年,将Spring全家桶的课程进行Review,确保不再有顺序错乱等问题导致学员看不懂内容,进入2022年,将Spring的课程进行整理,整理为案例精讲的系列课程,并开始逐步增加高阶的Spring Security等内容,课件将逐步进行上传,敬请期待! ]本课程是Spring全家桶案例精讲课程的第二部分Spring MVCSpring案例精讲课程以真实场景、项目实战为导向,循序渐进,深入浅出的讲解Java网络编程,助力您在技术工作中更进一步。 本课程聚焦Java Spring的Web知识点,主要是关于Spring MVC的应用,包含:表单的增删改查、国际化、过滤器、拦截器、日志Log4j2及slf4j的使用、主题更改网站皮肤及样式、文件上传等的案例讲解,并且最后以一个SSM(Spring+Spring MVC+Mybatis)贯穿前后台的案例作为Spring MVC课程的终奖, 从而使大家快速掌握Spring的基础核心知识,快速上手,为面试、工作等做好充足准备。 由于本课程聚焦于案例,即直接上手操作,对于Spring的原理等不会做过多介绍,希望了解原理等内容的需要通过其他视频或者书籍去了解,建议按照该案例课程一步步做下来,之后再去进一步回顾原理,这样能够促进大家对原理有更好的理解。 【通过Spring全家桶,我们保证你能收获到以下几点】 1、掌握Spring全家桶主要部分的开发、实现2、可以使用Spring MVCSpring Boot、Spring Cloud及Spring Data进行大部分的Spring开发3、初步了解使用微服务、了解使用Spring进行微服务的设计实现4、奠定扎实的Spring技术,具备了一定的独立开发的能力  【实力讲师】 毕业于清华大学软件学院软件工程专业,曾在Accenture、IBM等知名外企任管理及架构职位,近15年的JavaEE经验,近8年的Spring经验,一直致力于架构、设计、开发及管理工作,在电商、零售、制造业等有丰富的项目实施经验 【本课程适用人群】如果你是一定不要错过!  适合于有JavaEE基础的,如:JSP、JSTL、Java基础等的学习者没有基础的学习者跟着课程可以学习,但是需要补充相关基础知识后,才能很好的参与到相关的工作中。 【Spring全家桶课程共包含如下几门】 

81,092

社区成员

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

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