更新 Portlet 專案中的 Faces 執行時期資源

原來在 WebSphere® Studio Application Developer 5.1.2 版中所附的 JavaServer Faces 執行時期資源, 在 Rational® Application Developer 6.0.1 版已更新。 如果您要繼續在以這個舊產品版本的 Portal Toolkit 5.0.2.2 所建立的 Portlet 專案上進行開發,建議您將 Faces 執行時期資源更新到最新的層次。

在 Rational Application Developer 6.0.1 版中,當匯入的 Portlet 專案或開啟工作區含有過期的資源時,Faces 執行時期資源即會自動更新。 在匯入以 WebSphere Studio Application Developer 5.1.x 版的 Portal Toolkit 5.0.2.2 所建立的 Portlet 專案至 Rational Application Developer 6.0.1 版,系統會提示您將 Faces 執行時期資源更新到最新的層次。

自動更新執行時期資源

若要自動更新 Portlet 專案的 Faces 執行時期資源,請執行下列動作:
  1. WebSphere Studio Application Developer 5.1.x 版匯入含有 Faces 內容的 Portlet 專案。 這時會開啟「專案移轉」視窗。
    註: 如果「專案移轉」視窗未開啟,您的自動建置喜好設定可能已停用。請在專案瀏覽器中, 用滑鼠右鍵按一下 Portlet 專案,然後選取建置 > 專案;重新建置專案的程序即會開啟「專案移轉」視窗。
  2. 如果工作區中有其他 Portlet 專案含有 Faces 內容,請勾選將這個選項套用到任何其他需要升級的專案,則所有的 Portlet 專案都會更新。
  3. 按下列其中一項:
    • 來自動完成更新。
    • 稍後來延遲更新。在選取稍後之後,如果要自動更新執行時期資源, 您必須先關閉再重新開啟 Portlet 專案,或重新啟動工作台,才能重新建置 Portlet 專案。如果您已停用自動建置, 請用滑鼠右鍵按一下 Portlet 專案,然後選取建置專案
    • 絕不來維持執行時期資源為舊版。 如果您選擇絕不並有意留在舊版的執行時期資源, 系統即不再提示您進行更新。將來您需要執行時期資源時,您必須手動加以更新。
  4. 若要更新 Portlet 特定的 Faces 執行時期資源、jsf-portlet.jar 和 jsf-wp.jar,您需要遵循以下的手動更新步驟。
註: 如果您建立了含有「Faces 用戶端」元件的 Faces JSP, 您必須將「Faces 用戶端」元件執行時期資源個別更新到最新的層次。請參閱更新 Web 專案中的 Faces 用戶端執行時期資源

手動更新執行時期資源

若要手動更新 Portlet 專案的 Faces 執行時期資源,請執行下列動作:
  1. 將含有 Faces 內容的現有 Portlet 專案匯入 Rational Application Developer 6.0.1 版工作區中。
  2. 在第二個頁面中選取 Faces Portlet 選項,來建立名稱為 JSFP601 的新 Portlet 專案。這個專案只會用來作為最新執行時期資源的來源; 其在更新完成之後即可刪除。
  3. 在專案瀏覽器中,用滑鼠右鍵按一下 JSFP601 專案,然後從功能表中選取內容
  4. 按一下 Web 專案特性,然後選取新增 Portlet 專案的 Faces 用戶端組織架構,然後按一下確定
  5. 對您要更新的每一個現有的 Faces 專案,執行下列動作:
    1. 在專案瀏覽器中,展開現有的專案來顯示 WebContent/WEB-INF/lib/ 資料夾中的檔案。找出並刪除這個目錄中下列所有的 JAR 檔:
      • jsf-api.jar
      • jsf-ibm.jar
      • jsf-impl.jar
      • jsf-portlet.jar
      • odc-jsf.jar
    2. 找出並開啟 WebContent/WEB-INF/faces-config.xml 檔。將下列元素加入這個配置檔中(如果尚未存在):
      	<lifecycle>
      		<phase-listener>com.ibm.faces.webapp.ValueResourcePhaseListener</phase-listener>
      	</lifecycle>
      	
      	<application>
      		<variable-resolver>com.ibm.faces.databind.SelectItemsVarResolver</variable-resolver>
      		<variable-resolver>com.ibm.faces.application.WPPortletVariableResolver</variable-resolver>
      		<property-resolver>com.ibm.faces.databind.SelectItemsPropResolver</property-resolver>
      	</application>
      註: 如果您的 Portlet 專案使用 JSR 168 API,請指定 com.ibm.faces.application.PortletVariableResolver 來取代 com.ibm.faces.application.WPPortletVariableResolver
    3. 對您已刪除的任何 JAR 檔,從 JSFP601 專案的 WebContent/WEB-INF/lib 目錄中複製相同名稱的 JAR 檔,將它貼到原始專案的相同位置。 某些配置並不需要所有這些 JAR 檔都存在於專案中;如果特定的 JAR 檔不在原始專案中,請不要複製這些檔案。
      • 如果 Portlet 專案使用了 IBM® Portlet API 或人員鏈結元件,請將 jsf-wp.jar 檔複製到原始專案中。
      • 如果您複製 odc-jsf.jar 檔,也請複製 odc-jsf-portlet.jar 檔。
    4. 開啟原始專案中的 web.xml 部署描述子,將下列內容加入配置中:
      	<context-param>
      		<param-name>com.ibm.ws.jsf.JSP_UPDATE_CHECK</param-name>
      		<param-value>true</param-value>
      	</context-param>
      	<context-param>
      		<param-name>com.ibm.ws.jsf.LOAD_FACES_CONFIG_AT_STARTUP</param-name>
      		<param-value>true</param-value>
      	</context-param>
  6. 刪除 JSFP601 Portlet 專案。
相關概念
WebSphere Studio 5.1.x 版的相容性
相關工作
從 Rational Application Developer 6.0 版更新 Web 專案的 Faces 執行時期資源
更新 Web 專案中的 Faces 執行時期資源
更新 Web 專案中的 Faces 用戶端執行時期資源
從 Rational Application Developer 6.0 版更新 Portlet 專案的 Faces 執行時期資源
移轉至 Rational Application Developer 6.0 版中的入口網站工具
將 WebSphere Portal 4.2 版 Portlet 移轉至 5.x 版
相關參考
6.0 版的除錯器變更
WDO 至 SDO 移轉
6.0 版中的 EGL 保留字
意見
(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.