SpringMVC 跨重定向請(qǐng)求傳遞數(shù)據(jù)的方法實(shí)現(xiàn)
執(zhí)行完post請(qǐng)求后,通常來(lái)講一個(gè)最佳實(shí)踐就是執(zhí)行重定向。重定向?qū)G棄原始請(qǐng)求數(shù)據(jù),原始請(qǐng)求中的模型數(shù)據(jù)和請(qǐng)求都會(huì)消亡??梢杂行П苊庥脩魹g覽器刷新或者后退等操作,直接間接地重復(fù)執(zhí)行已經(jīng)完成的post請(qǐng)求。
在控制方法中返回的視圖名稱中,在String前使用"redirect:"前綴,那么這個(gè)String就不是來(lái)查找視圖的,而是瀏覽器進(jìn)行重定向的路徑,相當(dāng)于重新發(fā)出請(qǐng)求。
重定向通常相當(dāng)于從一個(gè)controller到另一個(gè)controller。
(1)使用URL模板以路徑變量和查詢參數(shù)的形式傳遞數(shù)據(jù)(一些簡(jiǎn)單的數(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)通過(guò)flash屬性發(fā)送數(shù)據(jù)(對(duì)象等復(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 跨重定向請(qǐng)求傳遞數(shù)據(jù)的方法實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)SpringMVC 跨重定向傳遞數(shù)據(jù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
SpringCloud?微服務(wù)數(shù)據(jù)權(quán)限控制的實(shí)現(xiàn)
這篇文章主要介紹的是權(quán)限控制的數(shù)據(jù)權(quán)限層面,意思是控制可訪問(wèn)數(shù)據(jù)資源的數(shù)量,對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2021-11-11Java實(shí)現(xiàn)AES/CBC/PKCS7Padding加解密的方法
這篇文章主要介紹了Java實(shí)現(xiàn)AES/CBC/PKCS7Padding加解密的方法,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-08-08IDEA報(bào)java:?java.lang.OutOfMemoryError:?Java?heap?space錯(cuò)誤
這篇文章主要給大家介紹了關(guān)于IDEA報(bào)java:?java.lang.OutOfMemoryError:?Java?heap?space錯(cuò)誤的解決辦法,文中將解決的辦法介紹的非常詳細(xì),需要的朋友可以參考下2024-01-01Java定時(shí)清理過(guò)期文件的實(shí)例代碼
這篇文章主要介紹了Java定時(shí)清理過(guò)期文件的實(shí)例代碼,非常不錯(cuò),具有一定的參考借鑒價(jià)值 ,需要的朋友可以參考下2018-12-12springBoot的事件機(jī)制GenericApplicationListener用法解析
這篇文章主要介紹了springBoot的事件機(jī)制GenericApplicationListener用法解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值的相關(guān)資料2019-09-09Java關(guān)鍵字instanceof用法及實(shí)現(xiàn)策略
instanceof 運(yùn)算符是用來(lái)在運(yùn)行時(shí)判斷對(duì)象是否是指定類及其父類的一個(gè)實(shí)例。這篇文章主要介紹了Java關(guān)鍵字instanceof用法解析,需要的朋友可以參考下2020-08-08