StevenBot-Saltsam

          眼睛能裝下世界,為何卻裝不下眼淚? 一只風箏一輩子只為一根線冒險。 那不是一場游戲,為何總有一根線牽著心懷,隱隱作疼? 那不是一段邂逅,為何飄在橋上的影子,總纏進夢鄉? 那不是一個夢境,為何你的溫柔私語,總是不經意的響起?

          導航

          <2025年6月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          293012345

          統計

          常用鏈接

          留言簿

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          datas link

          OSChinal Sources codes Library

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          Spring web MVC 框架學習筆記 之 ViewResolver技術

          ModelAndView對象中的view對象,可以使用字符串來讓Spring框架進行解析獲得適合的視圖。而解析View的就是ViewResolver技術。

          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進行加載默認的viewResolver,如果沒有設置viewResolver,spring使用InternalResourceViewResolver進行解析。

          Spring實現ViewResolver的非抽象類且我們經常使用的viewResolver有以下四種:

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

           

          使用多視圖解析器:

          我們不想只使用一種視圖解析器的話,可以在[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>

          <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會加載所有的viewResolver到一個list中,并按照優先級進行解析。注意order中的值越小,優先級越高。而id為viewResolver

          的viewResolver的優先級是最低的。

          posted on 2011-10-15 09:48 Steven_bot 閱讀(4123) 評論(1)  編輯  收藏 所屬分類: spring

          評論

          # re: Spring web MVC 框架學習筆記 之 ViewResolver技術 [未登錄] 2013-05-06 17:08 Arlen

          <bean id=”beanNameViewResolver” class=”...BeanNameViewResolver”>
          <property name="order" value="1"></property>
          </bean>
          這個能詳細點嗎??????
          我的jsp在不同的文件夾中,同一個前綴不行啊,在jsp文件夾下還分其他目錄的,怎么配置幾個前綴,求解答。。。急  回復  更多評論   

          主站蜘蛛池模板: 河西区| 中山市| 乾安县| 涿州市| 滦南县| 饶平县| 色达县| 阜新市| 十堰市| 聂拉木县| 张家港市| 城口县| 晋宁县| 潞西市| 黔江区| 贵阳市| 那曲县| 凤凰县| 乐平市| 抚宁县| 扎囊县| 吴江市| 天祝| 六枝特区| 平阳县| 都兰县| 许昌市| 岢岚县| 平舆县| 库尔勒市| 苍南县| 达孜县| 伽师县| 咸宁市| 庆阳市| 双辽市| 辽阳县| 长兴县| 海盐县| 嘉善县| 海城市|