zoukankan      html  css  js  c++  java
  • SpringMVC之RedirectAttributes属性

    RedirectAttributes是SpringMVC3.1版本之后出来的一个新功能,专门用于重定向之后还能带参数跳转的的工具类。

    两种带参方式:

    • redirectAttributes.addAttributie("prama",value); 
    • redirectAttributes.addFlashAttributie("prama",value); 

    第一种:

    redirectAttributes.addAttributie("prama",value);这种方法是在重定向之后在URL后面拼接参数

    redirectAttributes.addAttributie("prama1",value1);
    
    redirectAttributes.addAttributie("prama2",value2);
    
    return:"redirect:/path/list" 
    

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

    第二种:

    redirectAttributes.addFlashAttributie("prama",value); 这种方法是隐藏了参数,链接地址上不直接暴露,但是能且只能在重定向的 “页面” 获取prama参数值。

    其原理就是将参数放到session中,session在跳到页面后马上移除对象。

    这个方法只能在重定向的页面上使用EL表达式取值,

    如果是重定向到Controller中是无法获取param中的value,除非在controller中用(@RequestPrama(value = "prama")String prama)注解,采用传参的方式。页面获值例如:

    redirectAttributes.addFlashAttributie("prama1",value1);
    
    redirectAttributes.addFlashAttributie("prama2",value2);
    
    return:"redirect:/path/list/"
    
    @RequestMapping("list")
    public List<Student> list(@RequestPrama(value = "prama1")String  prama1,
       @RequestPrama(value = "prama2")String  prama2,...
    ){
        //TODO
        //your code
    
    }
    

      

  • 相关阅读:
    动态SQL的注意
    关于数据库抛出异常:Incorrect string value: 'xE1x...' for column '字段名' at row 1 问题的解决方法
    让.bashrc文件在终端自动生效
    期中考试题
    RAP、Mock.js、Vue.js、Webpack
    全局变量变为局部变量 & MVC思想
    用 JS + LeanCloud 给网页添加数据库(留言功能)
    闭包的使用
    从发请求到AJAX到同源政策
    从实现HTML页面局部刷新到JSONP
  • 原文地址:https://www.cnblogs.com/jszfy/p/11737040.html
Copyright © 2011-2022 走看看