第一种:

通过RedirectAttributes自动封装参数到地址栏

redirectAttributes.addAttribute("param", value);

这种方式就相当于重定向之后,在url后面拼接参数,这样在重定向之后的页面或者控制器再去获取url后面的参数就可以了,但这个方式因为是在url后面添加参数的方式,所以暴露了参数,有风险

第二种: 
attr.addFlashAttribute("param", value);
这种方式也能达到重新向带参,而且能隐藏参数,其原理就是放到session中,session在跳到页面后马上移除对象。所以你刷新一下后这个值就会丢掉
例:

1
2
3
attr.addFlashAttribute("status","999");
attr.addFlashAttribute("message","登录失败");
return "redirect:/toLogin";

这种方式确实能重定向带参,取值的时候需要注意,

1)重定向到页面上,也就是说重定向的这个 页面视图,能用el表达式直接获取你带参的值,比如status 和message ,都能获取。 
2)重定向到另一个Controller的时候,使用redirectAttributes.getFlashAttributes();没法获取这两个参数
需要使用httpServletRequest 来获取参数
Map

<String, ?> map = RequestContextUtils.getInputFlashMap(request);
if (map != null) {
System.out.println(map.get("flashParams") + "这次终于取到啦");
}

springmvc重定向之后取值的几种办法以及优劣比较相关推荐

  1. python字典取值_python 字典中取值的两种方法小结

    python 字典中取值的两种方法小结 如下所示: a={'name':'tony','sex':'male'} 获得name的值的方式有两种 print a['name'],type(a['name ...

  2. datetime 比较_Python 字典中key命中取值的两种方法性能比较!

    起步 从字典中取值有两个方法,一个是先判断key是否在字典中再取值:另一个是包裹try块中直接去取值: Python资源共享群:484031800 def use_in(d, key):if key ...

  3. H5工程师跨页面取值的几种方法

    业务场景:作为H5工程师,经常需要到另一个页面去拿变量值,遇到好多次啦,这里总结一下,同等不同的页面一般不可以使用id或者类选择器定位取值,比如A页面有个id="demo",你从B ...

  4. struts2从form取值的三种方式

    1,使用默认的action的传递方式. 2,自定义一个vo,在action中使用这个vo 3,使用ModelDriven的方式. 下面分别叙述. 1,使用默认的action的传递方式. action文 ...

  5. JAVA 数组取值去重 两种方法

    1.循环去重(给定的数据中可能有重复) (1)准备数据,随机生成10个0-20以内的随机数 (2)循环遍历随机生成的数组,发现数组内数字相同,i--并且退出循环. public static void ...

  6. js对象取值的两种方式及区别

    var obj = {abc:"ss",nn:90}; var v1 = obj.abc;//使用点的方式 var v2 = obj["abc"];//使用中括 ...

  7. python中字典取值的两种方法

    方法一:dic.get('key', 默认值) dic1 = {'1':'node1','2':'node2'} print(dic1.get('1')) # node1 print(dic1.get ...

  8. Map集合遍历取值的五种方式

    HashMap //基于JDK1.8版本以上 lambada函数 map.forEach((k, v) -> { System.out.println("key:value = &qu ...

  9. Python openpyxl打开有公式的excel表取值错误的解决办法,Python openpyxl获取excel有公式的单元格的数值错误,Python操作excel(.xlsx)封装类

    Python openpyxl打开有公式的表格,如果直接读取,会出现有公式的单元格为空或零的情况. 参见: https://blog.csdn.net/weixin_45903952/article/ ...

最新文章

  1. .Net Core快速创建Windows服务
  2. 利用ffmpeg转换mp4文件
  3. 如何使用python效率办公_日常office工作中如何用python提升效率014
  4. linux常用高级命令,Linux常用高级文件操作命令
  5. 集群部署中解决定时任务重复执行的问题-redis分布式锁应用
  6. python时间模块的使用
  7. FusionCharts图表右键菜单的各种典型示例
  8. 精心挑选的15款优秀 jQuery 文本特效插件和教程
  9. ADS仿真6_PA设计【未完成】
  10. 计算机打印怎样添加PDF格式,将PDF打印机添加到计算机后如何将Excel打印为PDF
  11. 考察数据结构——第三部分:二叉树和BSTs[译]
  12. 没错,我是高端吃瓜玩家(搞懂摩斯密码)
  13. 1 error and 0 warnings potentially fixable with the `--fix` optio
  14. 使计算机无法启动的病毒是,0xc0000017蓝屏计算机无法启动解决方案
  15. java,android中网络数据获取和json解析
  16. centos查看安装oracle客户端,CentOS 6.4 安装oracle客户端
  17. CCAnimation创建动画cocos2d-x教程
  18. Git 学习笔记——程序员篇
  19. 完美解决TP-LINK无线路由桥接后电脑能上网、手机不能上的问题
  20. vue 手机移动端预览pdf

热门文章

  1. string replaceAll
  2. linux下udp多线程编程
  3. 黑客攻防技术宝典Web实战篇第2版—第7章 攻击会话管理
  4. 美团flutter_Flutter包大小治理上的探索与实践
  5. 对android中ActionBar中setDisplayHomeAsUpEnabled和setHomeButtonEnabled和setDisplayShowHomeEnabled方法的理解
  6. 使用百度链的智能合约来落地公司业务场景
  7. python单元测试断言_Python单元测试框架之pytest -- 断言-阿里云开发者社区
  8. Java毕设项目:垃圾分类(带源码和搭建过程)
  9. kafka分区机制详解
  10. Mybatis中强大的resultMap