JSF 引擎配置參數
在 WebSphere® Application Server 中,您可以配置 JavaServer Faces (JSF) 引擎配置參數,讓正式作業伺服器環境及開發環境發揮最佳效能。
JSF 引擎參數區分大小寫。如果參數的指定值由兩個或更多用空格區隔的單字組成,您必須用引號將值括起來。
MyFaces 的 JSF 選項
JSF 參數名稱 | 說明 | 預設值 |
---|---|---|
org.apache.myfaces.PRETTY_HTML | 如果此值為 true,呈現的 HTML 程式碼會格式化為易於閱讀。插入的額外換行符號和空格不影響 HTML 程式碼。 | true |
org.apache.myfaces.ALLOW_JAVASCRIPT | 這個參數告訴 MyFaces 在呈現的 HTML 輸出中是否接受 JavaScript 程式碼。 如果接受 JavaScript,command_link 錨點會有 JavaScript 程式碼可提交對應的表單。 如果不接受 JavaScript,狀態儲存資訊和巢狀參數會新增為 URL 參數。 | true |
org.apache.myfaces.DETECT_JAVASCRIPT | false | |
org.apache.myfaces.AUTO_SCROLL | 如果是 true,會對每個要求呈現 JavaScript 函數來還原先前的垂直捲動。 如果頁面中有很長的清單,當您觸發同一頁的鏈結或按鈕動作時,如果不希望瀏覽器頁面跳回頁面開頭,這項特性會很方便。 | false |
org.apache.myfaces.ADD_RESOURCE_CLASS | org.apache.myfaces.renderkit.html.util.DefaultAddResource | |
org.apache.myfaces.CHECK_EXTENSIONS_FILTER | 這個參數會檢查是否已適當配置 Web 應用程式所需的 Extensions-Filter。 | true |
org.apache.myfaces.COMPRESS_STATE_IN_SESSION | 將這個選項設為 true 可在序列化狀態寫入階段作業之前先壓縮狀態。 如果這個選項設為 false,則不會壓縮狀態。只有當狀態儲存方法設為 server 及 org.apache.myfaces.SERIALIZE_STATE_IN_SESSION 設為 true 時,這個選項才適用。 | true |
org.apache.myfaces.DISABLE_FLASH_SCOPE | 將這個環境定義參數設為 true 可停用 Flash Scope,導致不傳送 Cookie。 | false |
org.apache.myfaces.NUMBER_OF_VIEWS_IN_SESSION | 定義階段作業中儲存的最新視圖數。只有當狀態儲存方法設為 server 時,這個選項才適用。 | 20 |
org.apache.myfaces.READONLY_AS_DISABLED_FOR_SELECTS | true | |
org.apache.myfaces.SERIALIZE_STATE_IN_SESSION | 將這個選項設為 true 可在狀態寫入階段作業之前,先將狀態序列化為位元組串流。 如果這個選項設為 false,則不會將狀態序列化為位元組串流。只有當狀態儲存方法設為 server 時,這個選項才適用。 | true |
org.apache.myfaces.STRICT_JSF_2_CC_EL_RESOLVER | 在對來源 EL 表示式呼叫 getType() 時,確保與鏈結的 EL 表示式一起運作的元件可以使用 composite: 屬性新增的 meta 資料資訊。將這個內容設為 true 可停用這項功能。 | false |
org.apache.el.parser.COERCE_TO_ZERO |
容許 WebSphere Application Server 使用的表示式語言 (EL) 將空值和空字串整數值強制轉型為 0 值,或「不」容許強制轉型為 0 值,而是保留空值或空字串整數。
預設值為 true,允許將空值或空字串整數值強制轉換為 0 值。
重要: 為了避免在 MyFaces 應用程式中將空值強制轉型為 0 值,應該在應用程式的 web.xml 中設定下列環境定義參數,以確保會禁止將所有可能的空白或空值實例強制轉型為零。
使用管理主控台設定 org.apache.el.parser.COERCE_TO_ZERO 內容。
|
true |
org.apache.myfaces.DEBUG_PHASE_LISTENER | 在開發專案階段中啟用 DebugPhaseListener。 | true |
com.ibm.ws.jsf.disablealternatefacesconfigsearch |
只有針對已設定這個環境定義參數的 Web 應用程式,才會停止 MyFaces 搜尋 META-INF/*.faces-config.xml。 如果同時設定環境定義參數和 Web 儲存器自訂內容,則以環境定義參數為優先。 |
false |
一般 JSF 選項
JSF 參數名稱 | 說明 | 預設值 |
---|---|---|
javax.faces.STATE_SAVING_METHOD | 指定儲存狀態資訊的位置。有效值為 'server'(儲存在 HttpSession 中)和 'client'(儲存為表單中的隱藏欄位)。 | 伺服器 |
javax.faces.CONFIG_FILES | 使用這個參數來指定環境定義相對資源路徑的清單(逗點分隔),JSF 實作會先在這些路徑下尋找應用程式配置資源,然後才載入名為 /WEB-INF/facesconfig.xml 的配置資源(如果資源存在)。 | 不適用 |
javax.faces.DEFAULT_SUFFIX | 指定包含 JSF 元件的延伸對映資源的預設字尾。 | .jsp |
javax.faces.LIFECYCLE_ID | 請利用這個參數來配置替代生命週期 ID。 | 不適用 |
com.ibm.ws.jsf.JSF_IMPL_CHECK | 指定當應用程式重新啟動時必須重新編譯 Web 模組中的 JSP 檔,因為使用的 JSP 實作已變更。 應用程式重新啟動之後,下次存取這個模組的一個 JSP 檔時,將會根據管理主控台指定的選定 JSP 實作來重新編譯此 JSP 檔。 後續再呼叫該 JSP 檔時不會重新編譯。這個選項的預設值為 false。這個選項適用於開發環境,而非正式作業環境。 | 不適用 |
在 MyFaces 中有同等行為的 Sun RI 環境定義參數
SUN RI 參數名稱 | 說明 | RI 預設值 | MyFaces 同等參數名稱 | MyFaces 預設值 |
---|---|---|---|---|
com.sun.faces.numberOfViewsInSession | 定義儲存在階段作業中的序列化視圖數上限。與伺服器狀態儲存一起使用。 | 15 | org.apache.myfaces.NUMBER_OF_VIEWS_IN_SESSION | 20 |
com.sun.faces.compressViewState | 設為 true 時,視圖在序列化之後和進行 base64 編碼之前會壓縮。與用戶端狀態儲存一起使用。從 1.2_09 開始,當 com.sun.faces.serializeServerState 設為 true 值,這個選項也會影響伺服器端狀態儲存(使用這個選項時,這會明顯影響階段作業中的狀態大小,耗費更多 CPU 資源)。 | true | 用戶端狀態儲存的 org.apache.myfaces.COMPRESS_STATE_IN_CLIENT,或伺服器端狀態儲存的 org.apache.myfaces.COMPRESS_STATE_IN_SESSION | false 表示用戶端狀態儲存,true 表示伺服器端狀態儲存 |
com.sun.faces.validateXml | 設為 true 時,JSF 會驗證配置檔。 | false | org.apache.myfaces.VALIDATE | false |
com.sun.faces.injectionProvider | 這個參數指定用於實作 InjectionProvider 的類別。 | 不適用 | WebSphere Application Server 執行時期提供注入提供者 | 不適用 |
com.sun.faces.serializationProvider | 這個參數指定用於實作 SerializationProvider SPI 的類別。這個實作代表 JSF 實作用於啟用替代序列化實作的連結鉤。 | 不適用 | org.apache.myfaces.SERIAL_FACTORY - 類別必須實作 org.apache.myfaces.shared_impl.util.serial.SerialFactory SPI,而不是 com.sun.faces.spi.SerializationProvider | 不適用 |
com.sun.faces.enabledJSStyleHiding | 如果為 true,HTML ResponseWriter 實作所呈現的行內 JavaScript 會呈現,因而舊版瀏覽器實作看不到 Script。 | false | org.apache.myfaces.WRAP_SCRIPT_CONTENT_WITH_XML_COMMENT_TAG | true |
com.sun.faces.serializeServerState | 如果啟用,元件狀態(而非樹狀結構)在儲存到階段作業中之前會序列化。 如果應用程式的問題在於視圖狀態易受模型變更所影響,這可能就很適合。 | false | org.apache.myfaces.SERIALIZE_STATE_IN_SESSION | true |