前言:html

有做者写出了部分方法,但没有给出具体实践,小白看后云里雾里,我这里作两件事:1 给出具体代码 2 对已经有的方法给出补充。java

参考:http://my.oschina.net/u/1866821/blog/509054?fromerr=gT7zS0oSspring

第一种状况,不带参数跳转:session

方法一:方式一:使用ModelAndViewreturn new ModelAndView("redirect:/toList");这样能够重定向到toList这个方法app

方法二:在return后直接,redirect 加上要跳转的地址,便可以从第一个controller跳到第二个controller,以下图代码中方法一url

方法三:见蓝色框,只要在return后直接加想要跳到的controller的方法名便可,注意,这个方法名不是RequestMapping里影射的路径,是controller里具体的方法,spa

如图片中的3和4,走完3后,他会找到4而不是2(2是RequestMapping里映射的路径),这个像不像java方法的重载,以下图代码中方法二.net

2015-12-10今天暂时写到这里!code

第二种状况,带参数跳转orm

方法一:直接在后面用?拼接如图。

方式二:用RedirectAttributes,这个是发现的一个比较好用的一个类

这里用它的addAttribute方法,这个实际上重定向过去之后你看url,是它自动给你拼了你的url。

使用方法:

attr.addAttribute("param", value);

return "redirect:/namespace/toController";

这样在toController这个方法中就能够经过得到参数的方式得到这个参数,再传递到页面。过去的url仍是和方式一同样的。

方法三:带参数不拼接url页面也能拿到值(重点是这个)

@RequestMapping("/save")

public String save(@ModelAttribute("form") Bean form,RedirectAttributes attr)

throws Exception {

String code = service.save(form);

if(code.equals("000")){

attr.addFlashAttribute("name", form.getName());

attr.addFlashAttribute("success", "添加成功!");

return "redirect:/index";

}else{

attr.addAttribute("projectName", form.getProjectName());

attr.addAttribute("enviroment", form.getEnviroment());

attr.addFlashAttribute("msg", "添加出错!错误码为:"+rsp.getCode().getCode()+",错误为:"+rsp.getCode().getName());

return "redirect:/maintenance/toAddConfigCenter";

}

}

@RequestMapping("/index")

public String save(@ModelAttribute("form") Bean form,RedirectAttributes attr)

throws Exception {

return "redirect:/main/list";

}

//页面取值,直接用el表达式就能得到到,这里的原理是放到session中,session在跳到页面后立刻移除对象。因此你刷新一下后这个值就会丢掉。

//3. 最底层仍是两种跳转,只是spring又进行了封装而已,因此说跳转的方式其实有不少不少种,你本身也能够封一个,也能够用最原始的response来,也没有问题。好了,//就到这儿。 其实也没有什么,可是知道了这个就很简单了,以前没搞懂,如今搞懂了,和你们分享。有问题的给我留言。

报错:用RedirectAttributes可能会报错

错误信息:java.lang.IllegalStateException: Argument [RedirectAttributes] is oftype Model

解决:

1 RedirectAttributes这个是spring3.1.x以上才有的,保证版本高于3.1

springmvc重定向到另一个项目_springmvc怎么重定向,从一个controller跳到另外一个controller...相关推荐

  1. springmvc重定向到另一个项目_SpringMVC——redirect重定向跳转传值

    spring MVC框架controller间跳转,需重定向.有几种情况:不带参数跳转,带参数拼接url形式跳转,带参数不拼接参数跳转,页面也能显示. 首先先来介绍一下不带参数的重定向: 我在后台一个 ...

  2. controll层跳转页面_以SpringMVC注解的形式 从Controller跳到另一个Controller 实现登入页面的跳转...

    以 SpringMVC 注解的形式从 Controller 跳到另一个 Controller 实现登入页面的跳转 使用 springmvc 注解的形式实现 ( 登录成功跳到一个 Controller ...

  3. springmvc重定向到另一个项目_SpringMVC结合Ajax、请求转发重定向、视图解析器

    每日总结 一.Spring结合Ajax的处理方式 1.传统解决方案 直接输出 2.使用SpringMVC框架提供的处理方法 注意: A.方法的返回值可以是对象或者集合 B.响应给前台的数据直接是jso ...

  4. springmvc重定向到另一个项目_Spring MVC重定向和转发详解

    Spring MVC请求方式分为转发.重定向两种,是用forward和redirect关键字在controller层进行处理.本文我们就来探讨一下Spring MVC请求方式中的Spring MVC重 ...

  5. 如何在github上fork一个项目来贡献代码以及同步原作者的修改

    如何在github上fork一个项目来贡献代码以及同步原作者的修改 作为一个IT人,通过github进行学习是最快的成长手段.我们可以浏览别人的优秀代码.但只看不动手还是成长得很慢,因此为别人贡献代码 ...

  6. 一个项目涉及到的50个Sql语句

    一个项目涉及到的50个Sql语句 /* 标题:一个项目涉及到的50个Sql语句(整理版) 作者:爱新觉罗.毓华(十八年风雨,守得冰山雪莲花开) 时间:2010-05-10 地点:重庆航天职业学院 说明 ...

  7. PMP项目经理如何管理好一个项目

    在一个项目进行过程中,项目管理能力尤为重要,否则会让团队成员相互推诿和彼此抱怨. 项目团队还会遇到一系列问题,例如:项目成员对产品目标不明确.项目信息不透明.不能及时跟踪项目进度等.这都是项目经理要面 ...

  8. 竹子进宝说:如何做好一个项目持续赚钱?

    大家好,我是竹子进宝开发者,我叫做竹子进宝,一点点做好每一件事小事,像竹子一样节节升. 设置开发竹子进宝的初衷也是想让更多人面对生活的时候,能更从容的选择和有勇气选择自己想过的生活,多一份副业多一份选 ...

  9. linux之vim操作快速跳到下一个空格和上一个空格命令

    1.问题 vim里面如何再文本里面快速跳到下一个空格和上一个空格 2.操作 w是在文本里面快速跳到下一个空格 b是在文本里面快速跳到上一个空格

最新文章

  1. windows server 2008设置远程桌面连接最大数量
  2. zabbix自动发现实现批量监控docker状态
  3. Java 调用 C++ (Java 调用 dll)康哥手把手教你
  4. NSArray 与 NSMutableArray 的排序
  5. c语言linux打印运行时间(耗时) gettimeofday()、timeval、<sys/time.h>
  6. C语言实现离散余弦变换(DCT)并用MATLAB和Python验证
  7. 二十六、深入Node.js中的文件系统fs模块
  8. 可恶,谁占用了我的80端口?
  9. 爱彼迎JavaScript 风格指南
  10. java为什么使用封装_Java面向对象编程为什么需要封装
  11. 电子邮件传输算法-Base64
  12. 浅析RTB和RTA(二)
  13. 使用freemarker模板生成html文件(二)
  14. TCS2010(中国标准编写模板)安装教程+解决三级标题条无法设置
  15. idea导入项目后没有被识别为maven项目的解决办法
  16. WordPress插件大合集会员收费下载/美化/卡密批量生成/积分功能 ErphpDown 包含9.42~~9.83版本
  17. KYLO的Java并发编程知识总结
  18. Magento数据库结构:EAV (转)
  19. 谈谈VR游戏中的性能优化
  20. 登录失败:用户帐户限制。可能的原因包括不允许空密码,登录时间限制,或强制的策略限制。 ...

热门文章

  1. 升级后重启造成fsck.ext3: Unable to resolve UUID
  2. Spring Cloud中的分布式组件五花八门,我到底该怎么学?
  3. 分布式缓存 Redis 集群搭建,这里一次性帮你搞定!
  4. Java多线程学习二十九:AtomicInteger(原子类) 和 synchronized 的异同点?
  5. Spring框架对JDBC的简单封装。提供了一个JDBCTemplate对象简化JDBC的开发
  6. JavaWeb JDBC初步连接和JDBC连接规范化
  7. 在 TableLayoutPanel 控件中对齐和拉伸控件
  8. MySQL高级-MySQL并发参数调整
  9. Surface Pro电磁笔故障
  10. linux基础-01-用户和目录、vim、归档和解压、系统启动流程、加密