推薦淘寶秋冬男裝熱賣網(wǎng)店

          追求無止境

          我的程序人生
          隨筆 - 31, 文章 - 2, 評(píng)論 - 20, 引用 - 0
          數(shù)據(jù)加載中……

          Spring web MVC 框架學(xué)習(xí)筆記 之 ViewResolver技術(shù)

          上次的文章中介紹了ModelAndView對(duì)象中的view對(duì)象,可以使用字符串來讓Spring框架進(jìn)行解析獲得適合的視圖。而解析View的就是ViewResolver技術(shù)。

          ViewResolver的定義如下:

          public interface ViewResolver {
          View resolveViewName(String viewName, Locale locale) throws Exception;
          }
           
          在[spring-dispatcher-name]-servlet.xml中,可以定義viewResolver:

          <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
                  <property name="prefix" value="/jsp/"/>
                  <property name="suffix" value=".jsp"/>
              </bean>

          來讓DispacherServlet進(jìn)行加載默認(rèn)的viewResolver,如果沒有設(shè)置viewResolver,spring使用InternalResourceViewResolver進(jìn)行解析。

          Spring實(shí)現(xiàn)ViewResolver的非抽象類且我們經(jīng)常使用的viewResolver有以下四種:

          InternalResourceViewResolver 將邏輯視圖名字解析為一個(gè)路徑
          BeanNameViewResolver 將邏輯視圖名字解析為bean的Name屬性,從而根據(jù)name屬性,找定義View的bean
          ResourceBundleResolver 和BeanNameViewResolver一樣,只不過定義的view-bean都在一個(gè)properties文件中,用這個(gè)類進(jìn)行加載這個(gè)properties文件
          XmlViewResolver 和ResourceBundleResolver一樣,只不過定義的view-bean在一個(gè)xml文件中,用這個(gè)類來加載xml文件

           

          使用多視圖解析器:

          我們不想只使用一種視圖解析器的話,可以在[spring-dispatcher-name]-servlet.xml定義多個(gè)viewResolver:

          <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
          <property name="prefix" value="/jsp/"/>
          <property name="suffix" value=".jsp"/>
          </bean>

          <bean id=”beanNameViewResolver” class=”...BeanNameViewResolver”>
          <property name="order" value="1"></property>
          </bean>

          <bean id=”beanNameViewResolver” class=”...XmlViewResolver”>
          <property name="order" value="0"></property>
          </bean>

          DispatcherServlet會(huì)加載所有的viewResolver到一個(gè)list中,并按照優(yōu)先級(jí)進(jìn)行解析。注意order中的值越小,優(yōu)先級(jí)越高。而id為viewResolver

          的viewResolver的優(yōu)先級(jí)是最低的。

          posted on 2009-11-27 12:11 追求無止境 閱讀(6881) 評(píng)論(1)  編輯  收藏 所屬分類: Java EE

          評(píng)論

          # re: Spring web MVC 框架學(xué)習(xí)筆記 之 ViewResolver技術(shù)  回復(fù)  更多評(píng)論   

          ??愛吃啥
          2015-10-15 10:47 | 按時(shí)吃

          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 舞阳县| 东山县| 乡城县| 金溪县| 蕲春县| 宜宾市| 准格尔旗| 赤壁市| 潼南县| 莒南县| 沁水县| 环江| 宁夏| 治县。| 新郑市| 行唐县| 丹凤县| 龙岩市| 永仁县| 闸北区| 广灵县| 洛阳市| 陇川县| 哈密市| 二连浩特市| 天气| 铁岭市| 烟台市| 安化县| 南岸区| 龙州县| 皋兰县| 永登县| 南投市| 格尔木市| 洛南县| 中山市| 乾安县| 崇文区| 同德县| 苍山县|