刚才做项目的时候看到一篇写的很不错的博客,解决我之前对于RedirectAttributes的困惑,也给大家推荐下~

原文地址https://zhuanlan.zhihu.com/p/21353217?refer=pengsong-java

RedirectAttributesSpring mvc 3.1版本之出来的一个功能,专门用于重定向之后还能带参数跳转的的工具类


有两种带参的方式:

第一种:

redirectAttributes.addAttributie("param",value); 这种方法相当于在重定向链接地址追加传递的参数,例如:

redirectAttributes.addAttributie("param1",value1);

redirectAttributes.addAttributie("param2",value2);

return:"redirect:/path/list" 

以上重定向的方法等同于 return:"redirect:/path/list?param1=value1&param2=value2 " ,注意这种方法直接将传递的参数暴露在链接地址上,非常的不安全,慎用


第二种:

redirectAttributes.addFlashAttributie("param",value);
这种方法是隐藏了参数,链接地址上不直接暴露,但是能且只能在重定向的 “页面” 获取param参数值。其原理就是放到session中,session在跳到页面后马上移除对象。

如果是重定向一个controller中是获取不到该param属性值的。
除非在controller中用(@RequestPrama(value = "param")String param)注解,采用传参的方式。

页面获值例如:

redirectAttributes.addFlashAttributie("param1",value1);

redirectAttributes.addFlashAttributie("param2",value2);

return:"redirect:/path/list.jsp" 

在以上参数均可在list.jsp页面使用EL表达式获取到参数值${param}

controller获得redirectAttributes重定向的值例如

redirectAttributes.addFlashAttributie("param1",value1);

redirectAttributes.addFlashAttributie("param2",value2);

return:"redirect:/path/list/"

@RequestMapping("list")
public List<Student> list(@RequestPrama(value = "param1")String param1,
@RequestPrama(value = "param2")String param2,...
){
//TODO
//your code }

通过在controller中的list方法体中可以获取到参数值。

[转]关于重定向RedirectAttributes的用法的更多相关文章

  1. 关于重定向RedirectAttributes的用法(转)

    原文地址:https://zhuanlan.zhihu.com/p/21353217?refer=pengsong-java RedirectAttributes 是Spring mvc 3.1版本之 ...

  2. 关于重定向RedirectAttributes的用法

    刚才做项目,遇到了redirectAttributes使用的问题,上网找了找,看到一篇写的很不错的博客,解决我对于RedirectAttributes的困惑,也给大家推荐下. 原文链接:href=&q ...

  3. Spring MVC RedirectAttributes的用法解决办法

    Spring MVC RedirectAttributes的用法很久没发过技术贴了,今天对于一个问题纠结了2小时,遂放弃研究用另一种方法解决,奈何心中一直存在纠结,发帖求解 我先解释下什么是Redir ...

  4. Spring中RedirectAttributes的用法

    RedirectAttributes 是Spring mvc 3.1版本之后出来的一个功能,专门用于重定向之后还能带参数跳转的的工具类.他有两种带参的方式: 第一种: redirectAttribut ...

  5. Spring 4 中重定向RedirectAttributes的使用

    RedirectAttributes 的使用 @RequestMapping(value = "/redirecttest", produces = "applicati ...

  6. Linux重定向用法详解

    大家好,我是良许. 相信大家平时都会有需要复制粘贴数据的时候,如果是打开文件进行复制粘贴,就不可避免的需要较多的鼠标与键盘的操作,就会比较繁琐.那么有没有可以省掉这些繁琐操作的复制粘贴的方法呢? 答案 ...

  7. linux shell脚本编程笔记(五): 重定向

    I/O重定向 简述: 默认情况下始终有3个"文件"处于打开状态, stdin (键盘), stdout (屏幕), and stderr (错误消息输出到屏幕上). 这3个文件和其 ...

  8. 红帽学习笔记[RHCSA] 第三课[输出重定向、Vi编辑器]

    第三课 关于Linux的输入输出 输入输出 0 stdin 标准输入 仅读取 1 stdout 标准输出 仅写入 2 stderr 标准错误 仅写入 3 filename 其他文件 读取和/或写入 输 ...

  9. SpringMVC现实

    夹 一个.前言 两.spring mvc 核心类和接口 三.spring mvc 核心流程图 四.spring mvc DispatcherServlet说明 五.spring mvc 父子上下文的说 ...

随机推荐

  1. C# 两个时间相减 返回 对应天时分秒

    "; //string sdsdsdsds = "1"; , '); //不足2位 就补充0 足2位 就不变 DateTime dts1 = DateTime.Now; ...

  2. golang学习笔记 ---命名

    Go语言中的函数名.变量名.常量名.类型名.语句标号和包名等所有的命名,都遵循一个简单的命名规则:一个名字必须以一个字母(Unicode字母)或下划线开头,后面可以跟任意数量的字母.数字或下划线.大写 ...

  3. asp.net页面之间传值方法详解

    asp.net中页面之间传值我们用得最多的就是get,post这两种了,其它的如session,appliction,cookie等这些相对来说少用也不是常用的,只是在特殊情况下在使用了. 1. Ge ...

  4. python 视频 图像帧提取

    import cv2 vidcap = cv2.VideoCapture('005.avi') success,image = vidcap.read() count = 0 success = Tr ...

  5. sql server2008系统表详细说明sys.开头的表

    一.库里有多少个表,表名等 select * from INFORMATION_SCHEMA.TABLES 二.查询表.字段.类型.是否主键.长度.小数位.是否允许空.默认值等详细查询 效果: SEL ...

  6. centos7 中搭建gitlab

    1.在virtual box中新建一个虚拟机 2.gitlab ce(community版本)地址:https://about.gitlab.com/installation/#centos-7?ve ...

  7. 硬盘 SMART 检测参数详解[转]

    一.SMART概述 硬盘的故障一般分为两种:可预测的(predictable)和不可预测的(unpredictable).后者偶而会发生,也没有办法去预防它,例如芯片突然失效,机械撞击等.但像电机轴承 ...

  8. Kubernetes的系统架构与设计理念

    Kubernetes与云原生应用简介 随着Docker技术的发展和广泛流行,云原生应用和容器调度管理系统也成为IT领域大热的词汇.事实上,云原生应用的思想,在Docker技术火爆之前,已经由云计算技术 ...

  9. android 的build.gradle 的API手册

    问题:对于用gradle的来配置java的开发者都能在GRADLE_HOME/docs/dsl找到如何对其build.gradle文件的具体属性. 但是对于开发android的开发者就不能对于官方的& ...

  10. js获取checkbox复选框获取选中的选项

    js获取checkbox复选框获取选中的选项 分享下javascript获取checkbox 复选框获取选中的选项的方法. 有关javascript 获取checkbox复选框的实例数不胜数.js实现 ...