2013-06-27 14 views
27

有幾個的JavaServer Faces <context-param>web.xmlfacelets.REFRESH_PERIODfacelets.DEVELOPMENTfacelets.SKIP_COMMENTS等我在哪裏可以找到所有這些PARAMS的完整列表?概述所有JSF相關的web.xml上下文參數的名稱和值

+0

一個真正的快速谷歌搜索帶來了https://facelets.java.net/nonav/docs/dev/docbook.html#config-webapp-init –

+0

首先,我沒有看到該列表中的javax.faces.PROJECT_STAGE。第二個 - 它似乎是關於jas 1.1和1.2的頁面不是嗎? – Cherry

+1

您的示例適用於facelet params,不適用於面部參數。對於2.0,facelets成爲面部的一部分,params被重新命名。看到這裏的2.0列表:http://docs.jboss.org/jbossas/6/JSF_Guide/en-US/html/jsf.reference.html –

回答

69

首先,那些以facelets.開頭的不是JSF上下文參數,而是Facelets 1.x上下文參數。以前,在JSF 1.x時代,Facelets未被集成爲JSF的一部分。但是,自JSF 2.0以來,Facelets作爲JSF的一部分進行了集成,將默認視圖技術替換爲傳統JSP,並將大部分Facelets 1.x上下文參數重新映射爲JSF 2.x上下文參數。

真正的JSF上下文參數名稱以javax.faces.開頭。它們在JSF specification的章節11.1.3中列出。這裏的相關性從JSF 2.0規範的提取物:

11.1.3 Application配置參數

Servlet容器支持可以通過包括在Web應用程序部署描述符<context-param>元件被定製應用配置參數。所有JSF實現都必須支持如下的應用配置參數名:

  • javax.faces.CONFIG_FILES - 以逗號分隔的上下文相關的資源路徑下該JSF實現將尋找應用程序配置資源(見11.4列表。 4「應用程序配置資源格式」),然後加載名爲「/WEB-INF/faces-config.xml」的配置資源(如果存在這樣的資源)。如果列表中存在「/WEB-INF/faces-config.xml」,則必須忽略它。

  • javax.faces.DATETIMECONVERTER_DEFAULT_TIMEZONE_IS_SYSTEM_TIMEZONE - 如果這個參數是設置, 和它的價值回報trueString表示主叫toLowerCase().equals("true")Application.createConverter()必須保證所有 javax.faces.convert.DateTimeConverter實例的時區的默認必須等於TimeZone.getDefault() 代替「GMT」。

  • javax.faces.DEFAULT_SUFFIX - 允許Web應用程序爲包含JSF內容的JSP頁面 定義備用後綴。有關完整規範,請參閱javadoc以獲取符號常量 ViewHandler.DEFAULT_SUFFIX_PARAM_NAME

  • javax.faces.DISABLE_FACELET_JSF_VIEWHANDLER - 如果這個參數是設置,並呼籲 toLowerCase().equals("true")其價值的String表示返回true,默認 ViewHandler必須表現爲在最新的1.2版本規範的規定。 中規定的任何行爲不得在運行時執行第7.5節「ViewHandler」並在默認ViewHandler中實現,這些行爲屬於處理請求的 以JavaServer Faces視圖聲明語言編寫的頁面。

  • javax.faces.FACELETS_LIBRARIES - 如果此PARAM被設置,運行時必須把它解釋爲分號(;) 分離的路徑列表,以「/」(沒有引號)。運行時必須將列表中的每個條目解釋爲相對於Web應用程序根目錄的 路徑,並將在該路徑中找到的文件解釋爲小面標籤庫,符合在第1.1節「應用程序配置資源的XML模式定義文件「並根據第10.3.2節」Facelet標籤庫機制「公開 中的標籤。運行時還必須考慮將參數名稱作爲此參數名稱的別名,以便與現有的 facelets標記庫向後兼容。

  • javax.faces.FACELETS_BUFFER_SIZE - 當生成ResponseWriter 時,在響應上設置的緩衝區大小。默認情況下,該值爲-1,不會在響應中分配緩衝區大小。如果您使用的是開發模式,則應該增加 以保證在生成錯誤 時不會部分呈現響應。運行時還必須考慮facelets.BUFFER_SIZE參數名稱作爲此參數名稱的別名,以便與現有facelet標記庫向後兼容。

  • javax.faces.DECORATORS - 分號(;)delimitted類型 javax.faces.view.facelets.TagDecorator的類名列表,與無參數構造。當Facelets VDL視圖的第一個請求點擊ViewHandler進行頁面編譯時,這些裝飾器將被加載 。運行時 還必須將參數名稱facelets.DECORATORS視爲此param名稱的別名,以便與現有facelet標記庫的向後 兼容。

  • javax.faces.FACELETS_REFRESH_PERIOD - 當請求頁面時, 編譯器檢查更改的時間間隔(秒)。如果編譯器不希望編譯器檢查更改,則使用 的值爲-1。設置低刷新週期有助於在開發期間編輯正在運行的 應用程序中的頁面。運行時還必須考慮facelets.REFRESH_PERIOD param名稱作爲此 參數名稱的別名,以便與現有facelet標記庫向後兼容。

  • javax.faces.FACELETS_RESOURCE_RESOLVER - 如果這個參數是設置,運行時必須解釋其價值,擴展javax.faces.view.facelets.ResourceResolver 並具有無參數的公共構造函數或一個參數公共構造其中類型的Java類的 完全合格的類名的論點是 ResourceResolver。如果此參數已設置且其值不符合這些要求,則運行時必須記錄一條消息並繼續。如果它符合這些要求並具有單參數構造函數,則必須將默認值傳遞給構造函數。如果它有一個零參數構造函數,則直接調用它。 無論哪種情況,新的ResourceResolver都取代了舊的。運行時還必須將參數名稱視爲此參數名稱的別名,以便與現有facelet標記庫向後兼容。

  • javax.faces.FACELETS_SKIP_COMMENTS - 如果這個參數是設置,並在其價值回報trueString表示主叫 toLowerCase().equals("true"),運行時必須 確保在Facelets的源頁面的任何XML註釋不會傳遞到客戶端。運行時還必須 將參數名稱facelets.SKIP_COMMENTS作爲此param名稱的別名,以便與現有的facelet標記庫向後兼容 。

  • javax.faces.FACELETS_SUFFIX - 允許Web應用程序爲基於Facelet的基於 的包含JSF內容的XHTML頁面定義備用後綴。有關完整規範,請參閱javadoc以獲取符號常量 ViewHandler.FACELETS_SUFFIX_PARAM_NAME

  • javax.faces.FACELETS_VIEW_MAPPINGS - 如果此PARAM被設置,運行時必須把它解釋爲分號 (;)分離,其用於強制地聲明在應用程序的某些網頁必須作爲 使用的Facelets被解釋的字符串列表,不管他們的延伸。運行時還必須考慮facelets.VIEW_MAPPINGS 參數名稱作爲此參數名稱的別名,以便與現有facelets應用程序向後兼容。有關完整的 規範,請參閱 javadocs以瞭解符號常量ViewHandler.FACELETS_VIEW_MAPPINGS_PARAM_NAME

  • javax.faces.FULL_STATE_SAVING_VIEW_IDS - 運行時必須解釋該參數的值作爲視圖ID的 逗號分隔的列表,其中的每一個必須具有他們的狀態使用狀態保存在JSF 1.2指定的機制 保存。

  • javax.faces.INTERPRET_EMPTY_STRING_SUBMITTED_VALUES_AS_NULL - 如果這個參數是設置,並且 其值的String表示調用toLowerCase().equals("true")返回true,任何 實施UIInput.validate()必須採取以下額外行動。 如果javax.faces.INTERPRET_EMPTY_STRING_SUBMITTED_VALUES_AS_NULL上下文參數值是 true(忽略的情況),和UIInput.getSubmittedValue()返回零長度String呼叫 UIInput.setSubmittedValue(null)和使用空作爲當前提交的值

  • javax.faces.LIFECYCLE_ID繼續處理 - 的Lifecycle實例的生命週期標識符在處理時使用 針對此Web應用程序的JSF請求。如果未指定,則必須使用由 LifecycleFactory.DEFAULT_LIFECYCLE標識的JSF默認實例。由運行時協商,以

  • javax.faces.PARTIAL_STATE_SAVING --The ServletContext初始化參數確定是否應該使用的部分狀態保存機構。 如果未定義,則運行時必須確定應用程序的版本級別。

    • 對於版本在1.2和以下的應用程序,運行時不能使用部分狀態保存機制。
    • 對於版本爲2.0及以上版本的應用程序,運行時必須使用部分狀態保存機制。

    如果該參數被定義,並且該應用程序是在1.2和下版本,運行時不能使用的部分 狀態保存機構。否則,如果定義了這個參數,並且在其String 上調用toLowerCase().equals("true")表示其值返回true,則運行時必須使用部分狀態機制。否則,不得使用局部狀態 保存機制。

  • javax.faces.PROJECT_STAGE - 一個可讀的字符串,描述軟件開發生命週期中這個特定的JSF應用程序在哪裏。有效值是「Development」,「UnitTest」,「SystemTest」或 「Production」,對應於類 javax.faces.application.ProjectStage的枚舉常量。也可以通過JNDI設置這個值。有關Application.getProjectStage()的信息,請參閱javadocs 。

  • javax.faces.STATE_SAVING_METHOD - 保存狀態信息的位置。有效值爲 「server」(通常保存在HttpSession)和「client」(通常保存爲後續表單 提交中的隱藏字段)。如果未指定,則必須使用默認值「server」。

  • javax.faces.VALIDATE_EMPTY_FIELDS - 如果這個參數是設置,並在其值返回true,所有提交的領域 將被驗證的String表示調用 toLowerCase().equals("true")。這對於允許模型驗證程序決定在當前應用程序中允許的空值還是空值是必需的。如果值爲false,則不會將空值或空值傳遞給驗證程序。 如果值爲字符串「auto」,則運行時必須檢查當前的 環境中是否存在JSR-303 Beans驗證。如果是這樣,那麼運行時必須像指定值「true」一樣進行。如果JSR-303 Bean驗證 在當前環境中不存在,則運行時間最多按照已指定值「false」的方式進行。如果 未設置參數,則系統必須表現得好像param已設置值「auto」。

  • javax.faces.validator.DISABLE_DEFAULT_BEAN_VALIDATOR - 如果這個參數是設置,並呼籲 toLowerCase().equals("true")其價值的String表示返回true,運行時不能 自動添加與驗證-ID驗證等於符號常量 的價值javax.faces.validator.VALIDATOR_ID到默認驗證器列表。如果將此參數設置爲true, 會在應用程序的 中的每個視圖中的每個輸入組件中禁用自動安裝Bean驗證,但仍可以手動安裝。

JSF實現可以選擇以支持附加的配置參數,以及額外的機制來 定製JSF實現;然而,依賴這些設施的應用程序將不能移植到其他JSF 實現。

正如你可以在最後一段中看到的那樣,JSF實現也可以有它們自己的一組上下文參數。 Mojarra以com.sun.faces.開頭:What Mojarra context parameters are available? MyFaces是以org.apache.myfaces.開頭的文件,這些文件也在自己的網站上列出:MyFaces documentation - Web Context Parameters

+0

莫哈拉鍊接被打破。以下是涵蓋Mojarra的兩個鏈接:http://www-01.ibm.com/support/knowledgecenter/SSAW57_8.0.0/com.ibm.websphere.nd.doc/info/ae/ae/rweb_jsfengine.html,http:///docs.jboss.org/jbossas/6/JSF_Guide/en-US/html/jsf.reference.html –

+2

@StephanRauh:我將它遷移到我的博客:http://balusc.omnifaces.org/2015/09/what -mojarra-上下文參數-are.html – BalusC

相關問題