更新 Portlet 项目中的 Faces 运行时资源

已经对 Rational® Application Developer V6.0.1 更新了 WebSphere® Studio Site Developer V5.1.2 中最初提供的 JavaServer Faces 运行时资源。如果想要继续在使用此先前产品版本的 Portal Toolkit 5.0.2.2 创建的 Portlet 项目上进行开发,建议您将 Faces 运行时资源更新为最新级别。

在 Rational Application Developer V6.0.1 中,当导入 Portlet 项目或者打开包含过时资源的工作空间时,就会自动更新 Faces 运行时资源。在将使用 WebSphere Studio Site Developer V5.1.x 的 Portal Toolkit 5.0.2.2 创建的 Portlet 项目导入到 Rational Application Developer V6.0.1 之后,将提示您将 Faces 运行时资源更新为最新级别。

自动更新运行时资源

自动更新 Portlet 项目的 Faces 运行时资源:
  1. 导入一个包含来自于 WebSphere Studio Site Developer V5.1.x 的 Faces 内容的 Portlet 项目。“项目迁移”窗口打开。
    注: 如果“项目迁移”窗口未打开,则可能已经禁用了自动构建首选项设置。在“项目资源管理器”中,右键单击 Portlet 项目并选择构建 > 项目;重建项目的过程将打开“项目迁移”窗口。
  2. 如果工作空间中具有其它包含 Faces 内容的 Portlet 项目,则选择将此选项应用于需要升级的其它任何项目,就会更新所有 Portlet 项目。
  3. 单击下列其中一项:
    • 单击以自动完成更新。
    • 单击稍后以延迟更新。要在选择稍后之后自动更新运行时资源,您必须先关闭然后重新打开 Portlet 项目,或者在重建 Portlet 项目之前重新启动工作台。如果已经禁用了自动构建,则右键单击 Portlet 项目并选择构建项目
    • 单击从不以保持运行时资源后备级别。如果您选择从不并且有意保持后备级别运行时资源,则将不会再次提示您更新它们。如果您将来需要这些运行时资源,则需要手工更新它们。
  4. 要更新特定于 Portlet 的 Faces 运行时资源 jsf-portlet.jar 和 jsf-wp.jar,您需要遵循下面的手工更新步骤。
注: 如果您创建了包含 Faces Client 组件的 Faces JSP,则必须单独将 Faces Client 组件运行时资源更新为最新级别。请参阅更新 Web 项目中的 Faces Client 运行时资源

手工更新运行时资源

手工更新 Portlet 项目的 Faces 运行时资源:
  1. 将具有 Faces 内容的现有 Portlet 项目导入到 Rational Application Developer V6.0.1 工作空间中。
  2. 使用在第二页中选择的 Faces Portlet 选项创建新的名为 JSFP601 的 Portlet 项目。仅将此项目用作最新运行时资源的源;在完成更新之后可以删除它。
  3. 在“项目资源管理器”中,右键单击 JSFP601 项目并从菜单中选择属性
  4. 单击 Web 项目功能部件并选择为 Portlet 项目添加 Faces Client 框架,然后单击确定
  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 V5.1.x 的兼容性
相关参考
V6.0 中的调试器更改
WDO 到 SDO 的迁移
V6.0 中的 EGL 保留字
反馈
(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.