Springmvc ModelAndView原理及用法詳解
ModelAndView以org.springframework.ui.ModelMap的形式來保持模型數(shù)據(jù),通過構(gòu)造方bai法傳入的或者通過實(shí)例方法添加的模型數(shù)據(jù)都將添加到這個(gè)ModelMap中。至于ModelMap中保持的模型數(shù)據(jù)將會(huì)在視圖渲染階段,由具體的View實(shí)現(xiàn)類來獲取并使用。
我們需要為添加到ModelAndView的一組或者多組模型數(shù)據(jù)提供相應(yīng)的鍵(Key),以便具體的View實(shí)現(xiàn)類可以根據(jù)這些鍵獲取具體的模型數(shù)據(jù),然后公開給視圖模板。通常,模型中的數(shù)據(jù)對應(yīng)的鍵需要與視圖模板中的標(biāo)志符相對應(yīng)
ModelAndView 是 SpringMVC 為我們提供的一個(gè)對象,該對象也可以用作控制器方法的返回值。
該對象中有兩個(gè)方法
- addObject(String attributeName,Object attributeValue):添加對象到該模型中
- 可以在頁面直接用el表達(dá)式獲取對象
- setViewName(@Nullable String viewName):設(shè)置邏輯視圖名稱,視圖解析器會(huì)根據(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 類型時(shí),瀏覽器跳轉(zhuǎn)只能是請求轉(zhuǎn)發(fā)。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- SpringMVC數(shù)據(jù)頁響應(yīng)ModelAndView實(shí)現(xiàn)頁面跳轉(zhuǎn)
- SpringMvc返回modelandview返回的頁面無法跳轉(zhuǎn)問題及解決
- SpringMVC通過模型視圖ModelAndView渲染視圖的實(shí)現(xiàn)
- springmvc處理模型數(shù)據(jù)ModelAndView過程詳解
- SpringMVC ModelAndView的用法使用詳解
- SpringMVC的ModelAndView傳值方法
- SpringMVC中Model和ModelAndView的EL表達(dá)式取值方法
- SpringMVC中ModelAndView的使用及說明
相關(guān)文章
SpringBoot Security整合JWT授權(quán)RestAPI的實(shí)現(xiàn)
這篇文章主要介紹了SpringBoot Security整合JWT授權(quán)RestAPI的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11基于Properties實(shí)現(xiàn)配置數(shù)據(jù)庫驅(qū)動(dòng)
這篇文章主要介紹了基于Properties實(shí)現(xiàn)配置數(shù)據(jù)庫驅(qū)動(dòng),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-05-05利用Java正則表達(dá)式校驗(yàn)郵箱與手機(jī)號
利用Java正則表達(dá)式校驗(yàn)郵箱與手機(jī)號。需要的朋友可以過來參考下,希望對大家有所幫助2013-10-10@insert mybatis踩坑記錄,實(shí)體接收前端傳遞的參數(shù)
這篇文章主要介紹了@insert mybatis踩坑記錄,實(shí)體接收前端傳遞的參數(shù)問題,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-07-07一篇文章帶你使用SpringBoot基于WebSocket的在線群聊實(shí)現(xiàn)
這篇文章主要介紹了一篇文章帶你使用SpringBoot基于WebSocket的在線群聊實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-10-10SpringBoot中@ConfigurationProperties實(shí)現(xiàn)配置自動(dòng)綁定的方法
本文主要介紹了SpringBoot中@ConfigurationProperties實(shí)現(xiàn)配置自動(dòng)綁定的方法,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-02-02Java調(diào)用Pytorch模型實(shí)現(xiàn)圖像識別
這篇文章主要為大家詳細(xì)介紹了Java如何調(diào)用Pytorch實(shí)現(xiàn)圖像識別功能,文中的示例代碼講解詳細(xì),具有一定的學(xué)習(xí)價(jià)值,感興趣的小伙伴可以了解一下2023-06-06