JSF學習筆記-web.xml和faces-config.xml配置

轉自:http://www.cnblogs.com/zxpgo/articles/2570175.html

JSF提供的核心控制器是javax.faces.webapp.FacesServlet。

web.xml中的welcome-file-list標籤作用:當用戶在瀏覽器中輸入的URL不包含某個servlet名或JSP頁面時,welcome-file-list元素可指定顯示的默認文件。 welcome-file子元素用於指定默認文件的名稱。welcome-file-list元素可以包含一個或多個welcome-file子元素。如果在第一個welcome-file元素中沒有找到指定的文件,Web容器就會嘗試顯示第二個,以此類推。

在web.xml中配置FacesServlet核心控制器:

複製代碼
    <!-- JSF的核心控制器 FacesServlet -->
    <servlet>
        <servlet-name>FacesServlet</servlet-name>
        <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
    </servlet>
    <!-- Faces Servlet Mapping -->
    <servlet-mapping>
        <servlet-name>FacesServlet</servlet-name>
        <url-pattern>*.jsf</url-pattern>
    </servlet-mapping>
複製代碼

這裏設置了攔截.jsf結尾的請求。

需要爲JSF配置一些額外的參數,可以在web.xml中使用<context-param>元素進行配置。下面是常用的一些配置:


複製代碼
<!-- 配置JSF程序狀態的保存位置,如果設置成server則保存在session中,
 如果保存在client中可以保證服務器重啓應用狀態也不會丟失 -->
    <context-param>
        <description>
            指示是在客戶端(client)還是在服務器端(server)保存UI組件的狀態和
            session信息, server表示保存到服務器端,client表示保存到客戶端,
            默認爲server。
        </description>
        <param-name>javax.faces.STATE_SAVING_METHOD</param-name>
        <!-- 程序狀態保存在客戶端 -->
        <param-value>client</param-value>
    </context-param>

    <!-- 指定JSF映射資源時的默認後綴,默認爲.jsp -->
    <context-param>
        <param-name>javax.faces.DEFAULT_SUFFIX</param-name>
        <param-value>.jsp</param-value>
    </context-param>

    <!-- 指定JSF所管理的生命週期實例的標識符 -->
    <context-param>
        <description>
            當在這個應用中處理JSF請求時,
            所使用的生命週期實例的標識符.
            默認的生命週期模型(沒看懂)
        </description>
        <param-name>javax.faces.LIFECYCLE_ID</param-name>
        <param-value></param-value>
    </context-param>

    <!-- 指定JSF配置文件的保存位置 -->
    <context-param>
        <param-name>javax.faces.CONFIG_FILES</param-name>
        <param-value>/WEB-INF/faces-config-beans.xml,/WEB-INF/faces-config-nav.xml</param-value>
    </context-param>

    <!-- 指定是否需要驗證自定義組件 -->
    <context-param>
      <description>
            Set this flag to true if you want the JSF
            Reference Implementation to verify that all of the application
            objects you have configured (components, converters,
            renderers, and validators) can be successfully created.
            Default value is false.
        </description>
        <param-name>javax.faces.verifyObjects</param-name>
        <param-value>true</param-value>
    </context-param>

    <!-- 指定是否需要驗證XML文件 -->
    <context-param>
           <description>
            Set this flag to true if you want the JavaServer Faces
            Reference Implementation to validate the XML in your
            faces-config.xml resources against the DTD. Default
            value is false.
  
           </description>
        <param-name>javax.faces.validateXml</param-name>
        <param-value>true</param-value>
    </context-param>

    <!-- 當設置在服務器端保存狀態時,控制session保存的視圖數量,-1表示沒有限制 -->
    <context-param>        
        <param-name>javax.faces.NUMBER_OF_VIEWS_IN_SESSION</param-name>
        <param-value>-1</param-value>
    </context-param>
複製代碼

JSF的配置文件faces-config.xml:

        最常用的兩個配置元素:

       <managed-bean>:JSF應用中所有的託管Bean都放在該元素下
       
複製代碼
  <managed-bean>
       <managed-bean-name>user</managed-bean-name>
       <managed-bean-class>
       onlyfun.caterpillar.UserBean
       </managed-bean-class>
       <managed-bean-scope>session</managed-bean-scope>
   </managed-bean>
複製代碼
       <navigation-rule>:用於管理JSF應用的導航規則
      
複製代碼
   <navigation-rule>
       <from-view-id>/pages/index.jsp</from-view-id>
       <navigation-case>    
         <from-outcome>success</from-outcome>
         <to-view-id>/pages/welcome.jsp</to-view-id>
       </navigation-case>
       <navigation-case>
         <from-outcome>failure</from-outcome>
         <to-view-id>/pages/index.jsp</to-view-id>
       </navigation-case>
    </navigation-rule>
複製代碼

 

       其他的配置元素:
       應用管理相關配置:

       <application>:用於管理JSF應用相關配置
       <referenced-bean>:配置被引用Bean

       註冊自定義組件的相關配置:

       <converter>:註冊自定義轉換器
       <validator>:註冊自定義輸入校驗器
       <component>:註冊自定義組件
       <render-kit>:註冊自定義組件繪製器和繪製器包

       高級擴展配置:

       <phase-listener>:註冊生命週期監聽器
       <factory>:配置實例化JSF核心類的工廠
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章