SpringMVC數據輸出相關知識總結
一、數據輸出
SpringMVC將數據攜帶給頁面的儲存工具,有三種,map,ModelMap,model,它們在底層實質還是使用到了BindingAwareModelMap,對數據進行存儲:

此外,也可以使用ModelAndView攜帶數據回傳頁面,實現代碼如下
/**
* 向頁面回傳數據顯示 handle01/02/03
* 使用 model map modelMap 回傳數據 放置在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 攜帶數據
*/
@RequestMapping("/handle04")
public ModelAndView handler(){
ModelAndView mv = new ModelAndView("success");
mv.addObject("msg","你好04");
return mv;
}
二、@ModelAttribute注解
使用@ModelAttribute注解,可以得到請求參數中的某個對象,而不是自己new出來的對象,所有帶有ModelAttribute注解的方法都會提前于目標方法運行,將對象放置在request域中,然后在目標方法中獲取,代碼示例:
// 先于目標方法執(zhí)行,獲取了數據庫中的斗個對象的信息
@ModelAttribute
public void hahaMyModelAttribute(Map<String, Object> map){
Book book = new Book(100, "西游記", "吳承恩", 98, 10, 98.98);
System.out.println("數據庫中查到的圖書信息是:"+book);
map.put("haha", book);
b1 = book;
o1 = map;
System.out.println("modelAttribute方法...查詢了圖書并給你保存起來了...他用的map的類 型:"+map.getClass());
}
}
// 目標方法,在目標方法中使用查詢到的對象
@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("頁面要提交過來的圖書信息:"+book);
return "success";
}
這樣做的好處在于,避免了全字段修改,不給值的地方Spring會默認使用null進行代替,這回在修改之前每個鍵值對都有值。
到此這篇關于SpringMVC數據輸出相關知識總結的文章就介紹到這了,更多相關SpringMVC數據輸出內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
解決maven clean報錯:Failed to delete xxxxx\t
這篇文章主要介紹了解決maven clean報錯:Failed to delete xxxxx\target\xxxx.jar問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-08-08
使用Apache POI在Java中實現Excel單元格的合并
在日常工作中,Excel是一個不可或缺的工具,尤其是在處理大量數據時,本文將介紹如何使用 Apache POI 庫在 Java 中實現 Excel 單元格的合并,需要的可以了解下2025-03-03
springboot docker jenkins 自動化部署并上傳鏡像的步驟詳解
這篇文章主要介紹了springboot docker jenkins 自動化部署并上傳鏡像的相關資料,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-05-05
使用java?-jar命令啟動Spring?Boot應用時指定特定配置文件的幾種實現方式
這篇文章主要介紹了在使用java-jar命令啟動SpringBoot應用時,指定特定配置文件的幾種方式,文中通過代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考借鑒價值,需要的朋友可以參考下2025-01-01

