SpringMVC 跨重定向請求傳遞數(shù)據(jù)的方法實(shí)現(xiàn)
執(zhí)行完post請求后,通常來講一個最佳實(shí)踐就是執(zhí)行重定向。重定向?qū)G棄原始請求數(shù)據(jù),原始請求中的模型數(shù)據(jù)和請求都會消亡。可以有效避免用戶瀏覽器刷新或者后退等操作,直接間接地重復(fù)執(zhí)行已經(jīng)完成的post請求。
在控制方法中返回的視圖名稱中,在String前使用"redirect:"前綴,那么這個String就不是來查找視圖的,而是瀏覽器進(jìn)行重定向的路徑,相當(dāng)于重新發(fā)出請求。
重定向通常相當(dāng)于從一個controller到另一個controller。
(1)使用URL模板以路徑變量和查詢參數(shù)的形式傳遞數(shù)據(jù)(一些簡單的數(shù)據(jù))
@GetMapping("/home/index") public String index(Model model){ Meinv meinv = new Meinv("gaoxing",22); model.addAttribute("lastName",meinv.getLastName()); model.addAttribute("age",meinv.getAge()); return "redirect:/home/details/{lastName}"; } @GetMapping("/home/details/{lastName}") public String details(@PathVariable String lastName, @RequestParam Integer age){ System.out.println(lastName); System.out.println(age); return "home"; }
(2)通過flash屬性發(fā)送數(shù)據(jù)(對象等復(fù)雜數(shù)據(jù))
@GetMapping("/home/index") public String index(RedirectAttributes model){ Meinv meinv = new Meinv("gaoxing",22); model.addAttribute("lastName",meinv.getLastName()); model.addFlashAttribute("meinv",meinv); return "redirect:/home/details/{lastName}"; } @GetMapping("/home/details/{lastName}") public String details(@PathVariable String lastName, Model model){ Meinv meinv = null; if(model.containsAttribute("meinv")){ meinv = (Meinv) model.asMap().get("meinv"); } System.out.println(meinv); return "home"; }
到此這篇關(guān)于SpringMVC 跨重定向請求傳遞數(shù)據(jù)的方法實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)SpringMVC 跨重定向傳遞數(shù)據(jù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
SpringCloud?微服務(wù)數(shù)據(jù)權(quán)限控制的實(shí)現(xiàn)
這篇文章主要介紹的是權(quán)限控制的數(shù)據(jù)權(quán)限層面,意思是控制可訪問數(shù)據(jù)資源的數(shù)量,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧2021-11-11Java實(shí)現(xiàn)AES/CBC/PKCS7Padding加解密的方法
這篇文章主要介紹了Java實(shí)現(xiàn)AES/CBC/PKCS7Padding加解密的方法,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-08-08IDEA報(bào)java:?java.lang.OutOfMemoryError:?Java?heap?space錯誤
這篇文章主要給大家介紹了關(guān)于IDEA報(bào)java:?java.lang.OutOfMemoryError:?Java?heap?space錯誤的解決辦法,文中將解決的辦法介紹的非常詳細(xì),需要的朋友可以參考下2024-01-01springBoot的事件機(jī)制GenericApplicationListener用法解析
這篇文章主要介紹了springBoot的事件機(jī)制GenericApplicationListener用法解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值的相關(guān)資料2019-09-09Java關(guān)鍵字instanceof用法及實(shí)現(xiàn)策略
instanceof 運(yùn)算符是用來在運(yùn)行時判斷對象是否是指定類及其父類的一個實(shí)例。這篇文章主要介紹了Java關(guān)鍵字instanceof用法解析,需要的朋友可以參考下2020-08-08