Springmvc ModelAndView原理及用法詳解
ModelAndView以org.springframework.ui.ModelMap的形式來保持模型數(shù)據(jù),通過構(gòu)造方bai法傳入的或者通過實例方法添加的模型數(shù)據(jù)都將添加到這個ModelMap中。至于ModelMap中保持的模型數(shù)據(jù)將會在視圖渲染階段,由具體的View實現(xiàn)類來獲取并使用。
我們需要為添加到ModelAndView的一組或者多組模型數(shù)據(jù)提供相應的鍵(Key),以便具體的View實現(xiàn)類可以根據(jù)這些鍵獲取具體的模型數(shù)據(jù),然后公開給視圖模板。通常,模型中的數(shù)據(jù)對應的鍵需要與視圖模板中的標志符相對應
ModelAndView 是 SpringMVC 為我們提供的一個對象,該對象也可以用作控制器方法的返回值。
該對象中有兩個方法
- addObject(String attributeName,Object attributeValue):添加對象到該模型中
- 可以在頁面直接用el表達式獲取對象
- setViewName(@Nullable String viewName):設置邏輯視圖名稱,視圖解析器會根據(jù)名稱前往指定的視圖
示例
控制器代碼
/**
* 返回ModeAndView
* @return
*/
@RequestMapping("/testReturnModelAndView")
public ModelAndView testReturnModelAndView() {
ModelAndView mv = new ModelAndView();
mv.addObject("username", "張三");
mv.setViewName("success");
return mv;
}
jsp取值
${requestScope.username}
注意:我們在頁面上上獲取使用的是 requestScope.username 取的,所以返回 ModelAndView 類型時,瀏覽器跳轉(zhuǎn)只能是請求轉(zhuǎn)發(fā)。
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
java使用bitmap實現(xiàn)可回收自增id的示例
本文主要介紹了java使用bitmap實現(xiàn)可回收自增id的示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2024-10-10
java自動生成編號的實現(xiàn)(格式:yyMM+四位流水號)
這篇文章主要介紹了java自動生成編號的實現(xiàn)(格式:yyMM+四位流水號),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-10-10
Spring Boot 中的 @ConditionalOnBean 注解場景分析
本文詳細介紹了Spring Boot中的@ConditionalOnBean注解的使用場景、原理和基本用法,通過多個示例,展示了如何使用該注解根據(jù)Bean是否存在來動態(tài)地注冊或跳過特定的Bean,感興趣的朋友一起看看吧2025-03-03

