您好,登錄后才能下訂單哦!
這篇文章主要介紹SpringMVC 重定向參數RedirectAttributes的示例分析,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
SpringMVC 中常用到 redirect 來實現重定向。但使用場景各有需求,如果只是簡單的頁面跳轉顯然無法滿足所有要求,比如重定向時需要在 url 中拼接參數,或者返回的頁面需要傳遞 Model。
SpringMVC 用 RedirectAttributes 解決了這兩個需要。
@RequestMapping("/save") public String save(User user, RedirectAttributes redirectAttributes) { redirectAttributes.addAttribute("param", "value1"); return "redirect:/index"; }
請求 /save 后,跳轉至/index,并且會在url拼接 ?param=value1。
@RequestMapping("/save") public String save(User user, RedirectAttributes redirectAttributes) { redirectAttributes.addFlashAttribute("param", "value1"); return "redirect:/index"; }
請求 /save 后,跳轉至 /index,并且可以在 index 對應的模版中通過表達式,比如 jsp 中 jstl 用 ${param},獲取返回值。該值其實是保存在 session 中的,并且會在下次重定向請求時刪除。
RedirectAttributes 中兩個方法的簡單介紹就是這樣。
A.jsp發送請求進入Controller,并想重定向到B.jsp并攜帶參數,發現攜帶的參數前臺獲取不到,然后采用以下方法即可
@RequestMapping("/index") public String delete(String id, RedirectAttributes redirectAttributes) { redirectAttributes.addFlashAttribute("msg","刪除成功!"); return "redirect:hello"; }
@RequestMapping("hello") public String index( @ModelAttribute("msg") String msg) { return "sentinel"; }
首先進入delete方法,將msg放在redirectAttributes里,然后重定向到hello,通過@ModelAttribute(“msg”) String msg獲取到msg的值,那么自然sentinel頁面就能獲取到msg的值。
B.jsp發送請求,跳轉到A.jsp,并將請求所產生的數據攜帶到A頁面。
以上是“SpringMVC 重定向參數RedirectAttributes的示例分析”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。