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
    
    }
    

      

  • 相关阅读:
    Beautifulsoup模块
    Tronado自定义Form组件
    5分钟入门Tornado
    Django-组件拾遗
    mvc Area(区域)相关技术
    制作web安装程序
    MVC
    Asp.net MVC中repository和service的区别
    关于ASP.NET MVC+Repository+Service架构的一些思考
    MVC引入SERVICE层 提高代码重用性 沟通CONTROL和MODEL
  • 原文地址:https://www.cnblogs.com/jszfy/p/11737040.html
Copyright © 2011-2022 走看看