SpringMVC數(shù)據(jù)輸出相關(guān)知識(shí)總結(jié)
一、數(shù)據(jù)輸出
SpringMVC將數(shù)據(jù)攜帶給頁(yè)面的儲(chǔ)存工具,有三種,map,ModelMap,model,它們?cè)诘讓訉?shí)質(zhì)還是使用到了BindingAwareModelMap,對(duì)數(shù)據(jù)進(jìn)行存儲(chǔ):

此外,也可以使用ModelAndView攜帶數(shù)據(jù)回傳頁(yè)面,實(shí)現(xiàn)代碼如下
/**
* 向頁(yè)面回傳數(shù)據(jù)顯示 handle01/02/03
* 使用 model map modelMap 回傳數(shù)據(jù) 放置在request中
*/
@RequestMapping("/handle01")
public String handler01(Map<String, String> map) {
map.put("msg","你好1!");
return "success";
}
@RequestMapping("/handle02")
public String handler02(Model model) {
model.addAttribute("msg","你好2");
return "success";
}
@RequestMapping("/handle03")
public String handler03(ModelMap modelMap) {
modelMap.addAttribute("msg","你好3");
return "success";
}
/**
* modelAndView 攜帶數(shù)據(jù)
*/
@RequestMapping("/handle04")
public ModelAndView handler(){
ModelAndView mv = new ModelAndView("success");
mv.addObject("msg","你好04");
return mv;
}
二、@ModelAttribute注解
使用@ModelAttribute注解,可以得到請(qǐng)求參數(shù)中的某個(gè)對(duì)象,而不是自己new出來(lái)的對(duì)象,所有帶有ModelAttribute注解的方法都會(huì)提前于目標(biāo)方法運(yùn)行,將對(duì)象放置在request域中,然后在目標(biāo)方法中獲取,代碼示例:
// 先于目標(biāo)方法執(zhí)行,獲取了數(shù)據(jù)庫(kù)中的斗個(gè)對(duì)象的信息
@ModelAttribute
public void hahaMyModelAttribute(Map<String, Object> map){
Book book = new Book(100, "西游記", "吳承恩", 98, 10, 98.98);
System.out.println("數(shù)據(jù)庫(kù)中查到的圖書信息是:"+book);
map.put("haha", book);
b1 = book;
o1 = map;
System.out.println("modelAttribute方法...查詢了圖書并給你保存起來(lái)了...他用的map的類 型:"+map.getClass());
}
}
// 目標(biāo)方法,在目標(biāo)方法中使用查詢到的對(duì)象
@RequestMapping("/updateBook")
public String updateBook(@ModelAttribute("haha")Book book,Map<String, Object> model){
o2 = model;
b2 = book;
Object haha = model.get("haha");
//System.out.println("傳入的model:"+model.getClass());
System.out.println("o1==o2?"+(o1 == o2));
System.out.println("b1==b2?"+(b1 == b2)+"-->"+(b2 == haha));
System.out.println("頁(yè)面要提交過(guò)來(lái)的圖書信息:"+book);
return "success";
}
這樣做的好處在于,避免了全字段修改,不給值的地方Spring會(huì)默認(rèn)使用null進(jìn)行代替,這回在修改之前每個(gè)鍵值對(duì)都有值。
到此這篇關(guān)于SpringMVC數(shù)據(jù)輸出相關(guān)知識(shí)總結(jié)的文章就介紹到這了,更多相關(guān)SpringMVC數(shù)據(jù)輸出內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- SpringMVC處理數(shù)據(jù)輸出的實(shí)例代碼
- 利用springmvc處理模型數(shù)據(jù)
- Springmvc ResponseBody響應(yīng)json數(shù)據(jù)實(shí)現(xiàn)過(guò)程
- springMVC如何對(duì)輸入數(shù)據(jù)校驗(yàn)實(shí)現(xiàn)代碼
- Springmvc如何返回xml及json格式數(shù)據(jù)
- SpringMvc響應(yīng)數(shù)據(jù)及結(jié)果視圖實(shí)現(xiàn)代碼
- Springmvc如何實(shí)現(xiàn)向前臺(tái)傳遞數(shù)據(jù)
- SPRINGMVC JSON數(shù)據(jù)交互如何實(shí)現(xiàn)
相關(guān)文章
Java關(guān)鍵字instanceof的兩種用法實(shí)例
這篇文章主要介紹了Java關(guān)鍵字instanceof的兩種用法實(shí)例,本文給出了instanceof關(guān)鍵字用于判斷一個(gè)引用類型變量所指向的對(duì)象是否是一個(gè)類(或接口、抽象類、父類)及用于數(shù)組比較,需要的朋友可以參考下2015-03-03
Java的JSON格式轉(zhuǎn)換庫(kù)GSON的初步使用筆記
GSON是Google開(kāi)發(fā)并在在GitHub上開(kāi)源的Java對(duì)象與JSON互轉(zhuǎn)功能類庫(kù),在Android開(kāi)發(fā)者中也大受歡迎,這里我們就來(lái)看一下Java的JSON格式轉(zhuǎn)換庫(kù)GSON的初步使用筆記:2016-06-06
解決maven clean報(bào)錯(cuò):Failed to delete xxxxx\t
這篇文章主要介紹了解決maven clean報(bào)錯(cuò):Failed to delete xxxxx\target\xxxx.jar問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-08-08
Java中時(shí)間戳的獲取和轉(zhuǎn)換的示例分析
這篇文章主要介紹了Java中時(shí)間戳的獲取和轉(zhuǎn)換的示例分析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-07-07
使用Apache POI在Java中實(shí)現(xiàn)Excel單元格的合并
在日常工作中,Excel是一個(gè)不可或缺的工具,尤其是在處理大量數(shù)據(jù)時(shí),本文將介紹如何使用 Apache POI 庫(kù)在 Java 中實(shí)現(xiàn) Excel 單元格的合并,需要的可以了解下2025-03-03
SpringMVC?RESTFul及REST架構(gòu)風(fēng)格介紹
這篇文章主要為大家介紹了SpringMVC?RESTFul及REST架構(gòu)風(fēng)格介紹,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-05-05
springboot docker jenkins 自動(dòng)化部署并上傳鏡像的步驟詳解
這篇文章主要介紹了springboot docker jenkins 自動(dòng)化部署并上傳鏡像的相關(guān)資料,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-05-05
使用java?-jar命令啟動(dòng)Spring?Boot應(yīng)用時(shí)指定特定配置文件的幾種實(shí)現(xiàn)方式
這篇文章主要介紹了在使用java-jar命令啟動(dòng)SpringBoot應(yīng)用時(shí),指定特定配置文件的幾種方式,文中通過(guò)代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2025-01-01
Java操作redis實(shí)現(xiàn)增刪查改功能的方法示例
這篇文章主要介紹了Java操作redis實(shí)現(xiàn)增刪查改功能的方法,涉及java操作redis數(shù)據(jù)庫(kù)的連接、設(shè)置、增刪改查、釋放資源等相關(guān)操作技巧,需要的朋友可以參考下2017-08-08

