JSF web.xml的各類參數屬性配置
阿新 • • 發佈:2017-09-29
blog att render 生命 val file 是否 模型 indent
<referenced-bean>:配置被引用Bean
<validator>:註冊自定義輸入校驗器
<component>:註冊自定義組件
<render-kit>:註冊自定義組件繪制器和繪制器包
<factory>:配置實例化JSF核心類的工廠 參考:http://www.itzhai.com/jsf-notes-jsf-configuration-file-configuration-instructions-and-common-elements.html http://baike.baidu.com/view/1002819.htm http://javaee.blog.51cto.com/941919/202857
出處: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>
其他的配置元素:
應用管理相關配置:
<referenced-bean>:配置被引用Bean
註冊自定義組件的相關配置:
<converter>:註冊自定義轉換器<validator>:註冊自定義輸入校驗器
<component>:註冊自定義組件
<render-kit>:註冊自定義組件繪制器和繪制器包
高級擴展配置:
<phase-listener>:註冊生命周期監聽器<factory>:配置實例化JSF核心類的工廠 參考:http://www.itzhai.com/jsf-notes-jsf-configuration-file-configuration-instructions-and-common-elements.html http://baike.baidu.com/view/1002819.htm http://javaee.blog.51cto.com/941919/202857
JSF web.xml的各類參數屬性配置