javascript
7.SpringMVC 配置式开发-ModelAndView和视图解析器
ModelAndView
1.Model(模型)
1.model的本質(zhì)就是HashMap,向模型中添加數(shù)據(jù),就是往HashMap中去添加數(shù)據(jù)
2.HashMap 是一個單向查找數(shù)組,單向鏈表數(shù)組
3.LinkedHashMap,本質(zhì)是一個HashMap,但其將Entry進(jìn)行了擴展,變成雙向的了
2.View(視圖)
ModelAndView 內(nèi)部通過 setViewName() 指定視圖名稱
這個視圖名稱對應(yīng)一個視圖對象,這個視圖對象會被封裝在ModelAndView中,傳給視圖解析器來解析
?
視圖解析器ViewResolver
試圖解析器ViewResolver接口負(fù)責(zé)將處理結(jié)果生成View視圖,常用的實現(xiàn)類有四種
(1)InternalResourceViewResolver 視圖解析器(默認(rèn))
該視圖解析器用于完成對當(dāng)前web應(yīng)用內(nèi)部資源的封裝與跳轉(zhuǎn)(可以選擇是否拼接web資源名稱)
對于內(nèi)部資源的定義,也只能定義一種格式的資源:存放在同一目錄的同一文件類型的資源文件
(2)BeanNameViewReolver 視圖解析器(可以轉(zhuǎn)向外部資源)
可以定義多個View 視圖bean,讓處理器中的ModelAndView 通過這些Bean的id的引用 來完成想View中封裝資源的跳轉(zhuǎn)
1 <bean class="org.springframework.web.servlet.view.BeanNameViewResolver"/> 2 3 <!-- 定義多個 View 視圖bean,讓處理器中 的 ModelAndView 通過對這些 Bean 的 id 的引用 來完成向 View 中封裝資源的跳轉(zhuǎn) --> 4 <!-- 定義一個外部資源 View 對象 --> 5 <bean id="taobao" class="org.springframework.web.servlet.view.RedirectView"> 6 <property name="url" value="http://www.taobao.com"/> 7 </bean> 8 9 <!-- 定義一個外部資源 View 對象 --> 10 <bean id="baidu" class="org.springframework.web.servlet.view.RedirectView"> 11 <property name="url" value="http://www.baidu.com"/> 12 </bean> 13 14 <!-- 定義一個內(nèi)部資源 View 對象 --> 15 <bean id="myInternalView" class="org.springframework.web.servlet.view.JstlView"> 16 <property name="url" value="/WEB-INF/jsp/hello.jsp"/> 17 </bean> 18 19 20 <bean id="/hello.do" class="com.springmvc.handlers.MyController"/> 21 22 23 24 </beans>?
3.XmlViewResolver視圖解析器 和 ResourceBundleViewResolver視圖解析器
當(dāng)需要定義的View視圖對象很多時,就是使springmvc.xml文件變得龐大,
所以可以將這些View視圖對象專門抽取出來,單獨定義一個xml或resource文件,統(tǒng)一進(jìn)行管理
?
視圖解析器的優(yōu)先級
視圖解析器有一個order屬性,專門用于設(shè)置多個視圖解析器的優(yōu)先級。數(shù)字越小,優(yōu)先級越高,數(shù)字相同,先注冊的優(yōu)先級高
1 <bean class="org.springframework.web.servlet.view.XmlViewResolver"> 2 <property name="location" value="classpath:myViews.xml"></property> 3 <property name="order" value="1"></property> 4 </bean>
?
轉(zhuǎn)載于:https://www.cnblogs.com/xuzekun/p/7405893.html
總結(jié)
以上是生活随笔為你收集整理的7.SpringMVC 配置式开发-ModelAndView和视图解析器的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: WPF的Clipboard.SetTex
- 下一篇: 【264】◀▶ Windows 批处理(