zoukankan      html  css  js  c++  java
  • 项目记录:springmvc forward redirect 问题

    @RequestMapping("/redirect")
    public String redirect(RedirectAttributes redirectAttributes){
    redirectAttributes.addFlashAttribute("test", "testdata"); //专供此种情况下使用。
    return "redirect:read";
    }

    注意:此种情况下,网址会跳转的同时,还携带着一个名字为“test”的request变量,即在其导向的模板文件中用${Request["test"]}或${test}可以取得值 "testdata"

    而在常规的redirect跳转中,是没法保存request变量的。

    如果在上述中,用传统的方法中设置参数ModelMap model,方法体中用 model.setAttributes("test","testdata"); 用这种方式取代redirectAttributes,则在跳转中,是无法保存request变量的。

    这种特性,既可以用来防止用户刷新网址重复提交数据,又可以给已经跳转的页面传递一些信息。

    @RequestMapping("/read") // 等效于forward
    public String test(){
    return "test/read";
    }

    @RequestMapping("/forward")
    public String forward(ModelMap model){
    model.addAttribute("test", "test data from forward");
    return "test/read";
    }

    在forward的情况,是无法使用RedirectAttributes这个属性的。也是无法防止用户刷新页面重复提交数据的

  • 相关阅读:
    Deploy Django in Windows
    Django开发环境配置
    springmvc源码解读
    分布式事务中常见的三种解决方案
    分布式锁总结
    JAVA代码优化
    Mysql(mysql总结)
    树(数据结构二)
    集合(Java总结一)
    centos7.7下docker与k8s安装(DevOps三)
  • 原文地址:https://www.cnblogs.com/appzhang/p/3910802.html
Copyright © 2011-2022 走看看