springMVC重定向redirect传递参数

  @RequestMapping(value = "/submit")
    public String submit(RedirectAttributes attr,HttpServletRequest request) throws IOException {
        /*通过RequestContextHolder获取request,(ServletRequestAttributes)(RequestContextHolder.getRequestAttributes())).getRequest()*/
        //方法1:通过request获取到flashMap,把参数设置到flashMap中,spring会自动将其设置到model中
        FlashMap flashMap = (FlashMap)request.
                getAttribute(DispatcherServlet.OUTPUT_FLASH_MAP_ATTRIBUTE);
        flashMap.put("name", "张三丰");
        //方法2:通过传入的attr参数的addFlashAttribute方法保存到FlashMap中,和方法一效果一样
        attr.addFlashAttribute("ordersId", "1234");
        //方法3:通过attr参数的addAttribute方法设置,这样设置的参数不会保存在FlashMap中,而是会保存到url中
        attr.addAttribute("local","zh-cn");
        return "redirect:showorders ";
    }

    @RequestMapping(value = "/showorders")//用注解ModelAttribute把model中的参数传入
    public String showOrders(@ModelAttribute("name")String  name,@ModelAttribute("ordersId")String ordersId,Model model,String local) throws IOException {
        logger.info("name:{},ordersId:{},local:{}",new Object[]{name,ordersId,local});
        return "orders";
    }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章