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";
    }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章