JSF 引擎配置參數
在 WebSphere® Application Server中,您可以在正式作業伺服器環境和開發環境中配置 JavaServer Faces (JSF) 引擎配置參數,以取得最佳效能。
JSF 引擎參數區分大小寫。 如果參數的指定值由兩個或更多用空格區隔的單字組成,您必須用引號將值括起來。
MyFaces 的 JSF 選項
| JSF 參數名稱 | 說明 | 預設值 |
|---|---|---|
| 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,則不會壓縮狀態。 只有在狀態儲存方法設為伺服器,且 org.apache.myfaces.SERIALIZE_STATE_IN_SESSION 設為 true時,這個選項才適用。 | True |
| org.apache.myfaces.FLASH_SCOPE_DISABLED | 將此環境定義參數設為 true ,以停用導致未傳送 Cookie 的 Flash Scope。 | 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: attribute 所新增的 meta 資料資訊。 將這個內容設為 true 可停用這項功能。 | false |
| org.apache.el.parser.COERCE_TO_ZERO | 指定 WebSphere Application Server 所用的「表示式語言 (EL)」實作是否將空值和空字串整數值強制設為 0 值。 預設值為 false -因此空值及空字串整數將不會強制轉型為 0 值。由於 EL 3.0 規格的變更,此參數的預設值已從先前 WebSphere 版本中的預設值變更。 您可以使用管理主控台來設定
|
|
| org.apache.myfaces.DEBUG_PHASE_LISTENER | 在開發專案階段中啟用 DebugPhaseListener。 |
True |
| com.ibm.ws.jsf.disablealternatefacesconfigsearch | 僅針對設定此環境定義參數的 Web 應用程式停用 MyFaces 搜尋 META-INF/*.faces-config.xml 。 如果同時設定環境定義參數和 Web 儲存器自訂內容,則以環境定義參數為優先。 | false |
| com.ibm.ws.jsf.get.facesConfig.via.WAS.classloader (JVM 內容) | 當應用程式類別載入器模式設為 PARENT_LAST時,應用程式組合的 commons-logging 實作 (例如 Log4J ) 可能會與 WebSphere 提供的 commons-logging 實作衝突。 當應用程式類別載入器模式設為 PARENT_LAST時,請將這個 JVM 內容設為 true ,以啟用正確的類別載入行為。 |
false |
一般 JSF 選項
| JSF 參數名稱 | 說明 | 預設值 |
|---|---|---|
| javax.faces.STATE_SAVING_METHOD | 指定儲存狀態資訊的位置。 有效值為 server(儲存在 HttpSession 中) 和 client(在表單中儲存為隱藏欄位)。附註: 如果您使用 javax.faces.STATE_SAVING_METHOD 在用戶端儲存,「JavaServer Pages 標準標籤庫 (JSTL)」與 Facelets 之間會有一些限制。 對於某些處理實務, JSF Facelets 支援在處理 Facelets 的所有用戶端儲存需求時有一些限制。 對於這些實務範例,伺服器端儲存是一個選項。 如果需要儲存用戶端狀態,請使用 JSF 標籤。
|
伺服器 |
| 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。 這個選項適用於開發環境,而非正式作業環境。 | 無 |
| javax.faces.EMPTY_STRING_SUBMITTED_VALUES_AS_NULL | 指定將提交的值解碼為空值,而不是空字串。 附註: 對於從
UISelectOne/UISelectMany延伸的元件,會忽略此參數。附註: 當使用 EL 3.0 或更新版本時,此參數沒有作用,因為需要自訂
ELResolver 。 |
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 |
對於轉移使用者: 8.5.5.3 版之前,當您使用
javax.faces.component.UIComponent.findComponent (字串表示式) 時,可能會傳回不正確的 UIComponent。 在此產品版本中, javax.faces.component.UIComponent.findComponent 會傳回正確的 UIComponent。 com.ibm.ws.jsf.FIND_COMPONENT_RECURSE_CHILD_ID JSF 環境定義參數必須設為 true。