JSF 引擎配置參數

WebSphere® Application Server 中,您可以配置 JavaServer Faces (JSF) 引擎配置參數,讓正式作業伺服器環境及開發環境發揮最佳效能。

JSF 引擎參數區分大小寫。如果參數的指定值由兩個或更多用空格區隔的單字組成,您必須用引號將值括起來。

MyFaces 的 JSF 選項

表 1. MyFaces 的 JSF 選項. 下表顯示 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 中設定下列環境定義參數,以確保會禁止將所有可能的空白或空值實例強制轉型為零。
<context-param>
	<param-name>javax.faces.
		INTERPRET_EMPTY_STRING_SUBMITTED_VALUES_AS_NULL
	</param-name>
	<param-value>true</param-value>
</context-param>
使用管理主控台設定 org.apache.el.parser.COERCE_TO_ZERO 內容。
  1. 展開伺服器,然後選取 WebSphere 應用程式伺服器。按一下清單中的個別伺服器。
  2. 在「伺服器基礎架構」下,展開「Java 和程序管理」> 按一下「程序定義」。
  3. 在「其他內容」下,按一下「Java 虛擬機器」。
  4. 在「其他內容」下,按一下「自訂內容」。
  5. 按一下新建,新增 org.apache.el.parser.COERCE_TO_ZERO 內容,值為 false(如果「不要」將空值強制轉型為零)。
  6. 按一下儲存來儲存變更,然後重新啟動 WebSphere Application Server,以確保變更生效。

true

org.apache.myfaces.DEBUG_PHASE_LISTENER 在開發專案階段中啟用 DebugPhaseListener true

com.ibm.ws.jsf.disablealternatefacesconfigsearch

只有針對已設定這個環境定義參數的 Web 應用程式,才會停止 MyFaces 搜尋 META-INF/*.faces-config.xml。 如果同時設定環境定義參數和 Web 儲存器自訂內容,則以環境定義參數為優先。

false

一般 JSF 選項

表 2. JSF 選項. 下表顯示任何 JSF 實作的 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 環境定義參數

表 3. Sun RI 環境定義參數和同等的 MyFaces 行為. 下表顯示 SUN RI 參數名稱和 MyFaces 同等參數名稱:
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

指出主題類型的圖示 參照主題



時間戳記圖示 前次更新: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=rweb_jsfengine
檔名:rweb_jsfengine.html