springMVC controller间跳转 重定向 传递参数的方法

spring MVC框架controller间跳转,需重定向。有几种情况:不带参数跳转,带参数拼接url形式跳转,带参数不拼接参数跳转,页面也能显示。

常用的方法:

(1)从一个controller中的方法跳转到另一个controller中的方法不需要传递参数

方式一:使用ModelAndView

return new ModelAndView(“redirect:/toList”);

这样可以重定向到另一个controller的toList这个方法

方式二:返回String

return “redirect:/ toList “;

这是不带参数的重定向。

( 2)第二种情况,需要携带参数时参数可以拼接url

方式一:自己手动拼接url

new ModelAndView(“redirect:/toList?param1=”+value1+”&param2=”+value2);

这样有个弊端,就是传中文可能会有乱码问题。

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

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

使用方法:

public String save(RedirectAttributes attr)

attr.addAttribute(“param”, value);

return “redirect:/namespace/toController”;

这样在toController这个方法中就可以通过获得参数的方式获得这个参数,再传递到页面。过去的url还是和方式一

一样的。

获得参数的方式:

request.getParameter(“productActivityId”);

(3)带参数不拼接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”, “添加出错”);

return “redirect:/maintenance/toAddConfigCenter”;

}

}

addFlashAttribute() springMVC3中 该方法将信息放到session中,在页面直接用el表达式就可以获得.session在跳到页面后

马上移除对象。所以你刷新一下后这个值就会丢掉。

总结

本质还是两次跳转,spring进行了封装;

springMVC controller间跳转 重定向 传递参数的方法的更多相关文章

  1. spring mvc controller间跳转 重定向 传参(转)

    spring mvc controller间跳转 重定向 传参 url:http://zghbwjl.blog.163.com/blog/static/12033667220137795252845/ ...

  2. springMVC controller间跳转、重定向、传参

    转载自:http://zghbwjl.blog.163.com/blog/static/12033667220137795252845/   1. 需求背景     需求:spring MVC框架co ...

  3. spring mvc controller间跳转 重定向 传参 (转)

    转自:http://zghbwjl.blog.163.com/blog/static/12033667220137795252845/ 1. 需求背景     需求:spring MVC框架contr ...

  4. Spring Mvc Controller间跳转 重定向 传参 (转)

    原文链接:http://zghbwjl.blog.163.com/blog/static/12033667220137795252845/ 1. 需求背景     需求:spring MVC框架con ...

  5. spring mvc controller间跳转 重定向

    1. 需求背景     需求:spring MVC框架controller间跳转,需重定向.有几种情况:不带参数跳转,带参数拼接url形式跳转,带参数不拼接参数跳转,页面也能显示. 本来以为挺简单的一 ...

  6. spring mvc controller间跳转 重定向 传参

    http://blog.csdn.net/jackpk/article/details/19121777/

  7. Android实现页面跳转及传递参数的方法

    简单的示例 实现的效果是这样的: 第一个页面有一个按钮,一个文本框,点击按钮,将文本框的内容传递到第二个页面,并显示在第二个页面中. 首先是在给按钮添加点击事件 setOnClickListener( ...

  8. Spring mvc框架 controller间跳转 ,重定向 ,传参

     一.需求背景     1. 需求:spring MVC框架controller间跳转,需重定向.有几种情况:不带参数跳转,带参数拼接url形式跳转,带参数不拼接参数跳转,页面也能显示.   @Req ...

  9. JSP重定向传递参数

    我一个JSP程序,要实现前台提交数据给后台处理后,后台jsp自动跳转到另一个jsp页面,这种方式也叫重定向,重定向的方法有多种,暂时我试过的并且能成功的有两个: 一种是用 response.sendR ...

随机推荐

  1. 两天了。照着SVN的界面画的一个界面。

      可以选择显示哪些列. 界面上的东西,都简单,麻烦的是它的下层.下层全部用svn server的服务器自带的svn.exe来支持. 有些位置要启动svn.exe不止一次.所以参数的来回传递,来回组合 ...

  2. 系统io统计

      $ cat /proc/diskstats sda sda1 sda2 gg- gg- gg- 主号 次号 名称 成功读 合并读 扇区读 读时间   每一列的含义分别为: 第一列为 设备号 (nu ...

  3. Visual Studio 2013打开Orchard1.8.1版本源码,出现无法打开解决方法

    当使用Visual Studio打开项目时,如果遇到如上情况,可能是缓存问题,删除解决方案缓存(suo后缀文件)后重新打开sln解决方案即可,如下图

  4. 使用nodejs安装http-server

    一.下载nodejs(https://nodejs.org/) 二.在环境变量中配置nodejs路径: path: D:\Program\nodejs\ 三.打开终端: 使用node -v测试node ...

  5. Thinkphp 错误集锦

    1.无法加载控制器 开始还跑TP核心文件中找错误,结果没找到什么结果.最后还是用程序新建模块才发现问题. 问题是命名空间名字写错了.比如书:本来是Report模块下的IndexContrller,但是 ...

  6. [转]了解screen对象的常用视图属性

    前面的话 screen对象基本上只用来表明客户端的能力,其中包括浏览器窗口外部的显示器的信息,如像素高度和宽度等.每个浏览器中的screen对象都包含着各不相同的属性.本文将详细介绍screen对象的 ...

  7. C#调用C++ DLL动态库的两种方式

    第一种方式:C++导出函数, c#dllimport 的方式 在很多地方都看到过,如[dllimport "user32.dll"]这种代码,调用windows API,就是通过这 ...

  8. springmvc java程序文件保存地址的路径问题

    会保存为这种斜杠 不论之前填写的是什么样

  9. java list转换json格式

    /** * 处理返回值(转换json格式和补零) * * @param resultDto5List * @param dateList * @return */ private JSONObject ...

  10. Codeforces 1150D(字符串dp)

    反思 三维的dp压根没看出来,看题解以后思路又很直观,找几道字符串dp练练才行 序列自动机和优化一维略 /* __ __ * ____| |_____| |____ * | | * | __ | * ...