[8.5.5.6 或更新版本]

針對 JavaServer Faces 2.2 配置 Liberty 設定檔

您可以將 Liberty 設定檔配置成使用 JavaServer Faces (JSF) 2.2 特性,以完整支援 JSF 2.2 規格。

關於這項作業

Liberty 設定檔的 JSF 實作是以 MyFaces 開放程式碼實作為基礎。如果要將 Liberty 伺服器配置成執行啟用 JSF 2.2 的應用程式,您必須設定 <jsf-2.2> 特性。

程序

更新 server.xml 檔,以新增 <jsf-2.2> 特性。 例如:
<featureManager>
	<feature>jsf-2.2</feature>
</featureManager>
重要:
使用 JavaServer Faces 2.2 時,考量下列事項:
  • 不像 JSF 2.0,JSF 2.2 特性並不會隱含載入 Bean 驗證特性。當您將應用程式從 JSF 2.0 移轉至 JSF 2.2 時,且您的應用程式使用 Bean 驗證,您也必須啟用 beanValidation-1.1 特性。
  • JSF 2.2 特性需要 servlet-3.1jsp-2.3timedexit-1.0, 和 el-3.0 特性。在 server.xml 檔中啟用 JSF 2.2 特性時,這每一項特性也都會啟用。
  • JSF 2.2 特性無法與 Java EE 6 特性搭配執行;例如,servlet-3.0jsp-2.2cdi-1.0
  • 您可以針對每一個伺服器實例,挑選 JSF 2.0 或 JSF 2.2 特性實作,但是您必須考量到任何的行為變更。如果必要的行為只有 JSF 2.2 特性才有,您必須使用 JSF 2.2 特性。如果現有的應用程式會因 JSF 2.2 特性中的行為變更,受到不利影響,請使用 JSF 2.0 特性,以保留該應用程式的現有行為。
  • 在相同的 Liberty 設定檔伺服器中,不可能同時使用 JSF 2.0 和 JSF 2.2 特性。如果同時配置這兩個特性,會產生錯誤:
    CWWKF0033E: 單態特性 jsf-2.0 和 jsf-2.2 不能同時載入。所配置的特性 jsf-2.0 和 jsf-2.2 含有一或多個造成衝突的特性。不支援您的配置;請更新 server.xml,以移除不相容的特性。
  • JSF 2.2 與舊版相容,例如:JSF 2.1 和 JSF 2.0;不過,請考量下列的例外事項:
    • 舊版 JSF 規格中的錯誤會抑制異常狀況,現在則會傳送到異常狀況處理程式。請閱讀 JSF 2.2 規格概觀一節中的「舊版相容性」。
    • 複合元件屬性 ELResolver 和複合電腦 meta 資料的規格已變更。請閱讀 JSF 2.2 規格概觀一節中的「舊版相容性」。

結果

JSF 2.2 特性已啟用,並在執行時期載入 Liberty 設定檔伺服器中。

下一步

如果您打算使用 JSF 2.2 的「Faces 流程」特性,且您沒有專用 XML 型配置,請在 Web 保存檔的 beans.xml 檔中,將 CDI 1.2 bean-discovery-mode 設為 all
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://xmlns.jcp.org/xml/ns/javaee"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/beans_1_1.xsd"
	bean-discovery-mode="all">
</beans>

指示主題類型的圖示 作業主題

資訊中心條款 | 意見


「時間戳記」圖示 前次更新: 2015 年 6 月 22 日
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=phil&product=was-libcore-mp&topic=twlp_config_jsf22
檔名:twlp_config_jsf22.html