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);
    }

  • 相关阅读:
    (二)vue的生命周期及相关的运行流程
    Vue接入百度地图显示及相关操作
    前端开发环境的介绍
    更改博客园的样式
    Ant Design of Vue 组件库的使用
    Vue 更换页面图标和title
    (四) Vue 相关的路由配置(及子路由配置)
    SVN创建分支的相关操作
    vs code插件自动压缩 min.css
    敲开通往架构师的门
  • 原文地址:https://www.cnblogs.com/F017/p/11119550.html
Copyright © 2011-2022 走看看