SpringMVC 跨重定向請(qǐng)求傳遞數(shù)據(jù)的方法實(shí)現(xiàn)
執(zhí)行完post請(qǐng)求后,通常來講一個(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就不是來查找視圖的,而是瀏覽器進(jìn)行重定向的路徑,相當(dāng)于重新發(fā)出請(qǐng)求。
重定向通常相當(dāng)于從一個(gè)controller到另一個(gè)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ù)(對(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)限層面,意思是控制可訪問數(shù)據(jù)資源的數(shù)量,對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2021-11-11
Java實(shí)現(xiàn)AES/CBC/PKCS7Padding加解密的方法
這篇文章主要介紹了Java實(shí)現(xiàn)AES/CBC/PKCS7Padding加解密的方法,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-08-08
IDEA報(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-01
springBoot的事件機(jī)制GenericApplicationListener用法解析
這篇文章主要介紹了springBoot的事件機(jī)制GenericApplicationListener用法解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值的相關(guān)資料2019-09-09
Java關(guān)鍵字instanceof用法及實(shí)現(xiàn)策略
instanceof 運(yùn)算符是用來在運(yùn)行時(shí)判斷對(duì)象是否是指定類及其父類的一個(gè)實(shí)例。這篇文章主要介紹了Java關(guān)鍵字instanceof用法解析,需要的朋友可以參考下2020-08-08

