zoukankan      html  css  js  c++  java
  • 如何让重定向也带数据

    有两种方式可以在重定向中传输数据 :
    ①使用URL模板以路径变量和/或查询参数的形式传递参数。//只能传递简单类型的参数
    ②通过flash属性发送数据。

    方式一的示例:
    @RequestMapping(method=RequestMethod.GET)
    public String spittles(Model model){
    //map类型也可以做为模型
    model.addAttribute("pid", "wahahah");
    model.addAttribute("username", "haha");
    return "redirect:/spi/{username}";
    //冲向的路径形式是:/spi/haha?pid=wahahah
    }
    @RequestMapping("/spi/{username}")
    public void tets(@PathVariable("username")String username,String pid ){
    System.out.println(username);
    System.out.println(pid);
    }
    方式二示例:
    通过flash其实是将数据放到会话中,然后再取出。
    @RequestMapping(method=RequestMethod.GET)
    public String spittles(RedirectAttributes model){
    //map类型也可以做为模型
    model.addFlashAttribute("spittles", spittleRespository.findSpittles(Long.MAX_VALUE, 20));
    model.addAttribute("pid", "wahahah");
    model.addAttribute("username", "haha");
    return "redirect:/spittles/spi/{username}";
    }
    @RequestMapping("/spi/{username}")
    public void tets(@PathVariable("username")String username,String pid ,Model model){
    if(model.containsAttribute("spittles")){
    Map<String, Object> asMap = model.asMap();
    ArrayList<Spittle> list = (ArrayList<Spittle>) asMap.get("spittles");
    System.out.println(Arrays.toString(list.toArray()));
    }
    System.out.println(username);
    System.out.println(pid);
    }

  • 相关阅读:
    Spring sprint @ ninth day
    微软面试:找水王问题
    Spring sprint @ first day
    软件工程概论 购书最低价格问题
    网络助手的NABCD分析
    记初学net-SNMP
    求二维数组联通子数组和的最大值 (联通涂色) beta!
    二维数组环状最大子矩阵
    一维数组中的最大子数组(环状)
    图书助手冲刺第七天
  • 原文地址:https://www.cnblogs.com/F017/p/11119550.html
Copyright © 2011-2022 走看看