创建 Faces portlet 和项目

虽然 Faces portlet 项目与标准 portlet 和 Faces 项目有一些公共特征,但是仍存在一些您应该注意的差别。

根据项目基于的 portlet API,使用“新建 Portlet 项目”向导或“新建 Portlet 项目(JSR 168)”向导来创建 Faces portlet 项目。将在创建项目过程中添加缺省 Faces portlet。该向导将自动生成 Faces portlet 配置文件、所需的目录结构和对 web.xml 文件的必需更新。

该项目中将包括 Struts portlet API 定义的下列资源类型:
资源类型 文件 目标目录
JAR 所有必需的 Faces *.jar 文件 WEB-INF/lib  
配置文件
  • faces-config.xml
  • portlet.xml
WEB-INF  
部署描述符
  • web.xml
  • portlet.xml
WEB-INF

对标准 web.xml 文件进行了下列修改:

  • 添加了 servlet com.ibm.faces.webapp.JSResourceServlet。
  • servletservlet-mapping 标记包含具有字符串值的标识属性,该字符串值以唯一标识作为后缀来防止与其它 portlet 相冲突。
以下信息包括在 portlet.xml 中:
  • 包括 Portlet 方式配置。
  • 提供与 Faces portlet 相关的 config-param 值。
下列样本配置和部署描述符文件片段显示 Faces portlet 项目中使用的代表标记:
faces-config.xml
在开始和结束请求处理生命周期的每个标准阶段的处理时,生命周期阶段侦听器将会得到通知。有关更多信息,请参阅 PhaseListener javadoc。另外,有关每个阶段的描述,请参阅 PhaseId javadoc。下列生命周期段已添加至 Faces 配置文件:
	<lifecycle>
		<phase-listener>com.ibm.faces.webapp.ValueResourcePhaseListener</phase-listener>
	</lifecycle>
FactoryFinder API 提供关于工厂的信息以及指向特定工厂的链接。下列工厂 finder 段已添加至 Faces 配置文件:
	<factory>
		<faces-context-factory>com.ibm.faces.context.WPPortletFacesContextFactoryImpl</faces-context-factory>
	</factory>
web.xml
这会显示已添加至 web.xml 的样本 Faces portlet servlet:
<servlet id="Faces_Unique_Servlet_Name">
		<servlet-name>faces_portlet.FacesPortletPortlet</servlet-name>
		<display-name>faces_portlet.FacesPortletPortlet</display-name>
		<servlet-class>com.ibm.faces.webapp.WPFacesGenericPortlet</servlet-class>
</servlet>
以下是 Faces portlet servlet 的 servlet 映射示例。
<servlet-mapping>
      <servlet-name>faces_portlet.FacesPortletPortlet</servlet-name>
      <url-pattern>/faces_portlet.FacesPortletPortlet/*</url-pattern>
</servlet-mapping>
portlet.xml
这是在 portlet.xml 中定义的 Faces portlet 应用程序的示例:
<portlet-app-def>
	<portlet-app uid="faces_portlet.FacesPortletPortlet.A_Unique_ID:1" major-version="1" minor-version="0">
		<portlet-app-name>Faces Portlet application</portlet-app-name>
		<portlet id="faces_portlet.FacesPortletPortlet" href="WEB-INF/web.xml#Servlet_A_Unique_ID:2" major-version="1" minor-version="0">
			<portlet-name>Faces Portlet portlet</portlet-name>
			<cache>
				<expires>0</expires>
				<shared>no</shared>
			</cache>
			<allows>
				<maximized />
				<minimized />
			</allows>
			<supports>
				<markup name="html">
					<view />
					<edit />
				</markup>
			</supports>
		</portlet>
	</portlet-app>
	<concrete-portlet-app uid="faces_portlet.FacesPortletPortlet.A_Unique_ID:3">
		<portlet-app-name>Faces Portlet application</portlet-app-name>
		<concrete-portlet href="#faces_portlet.FacesPortletPortlet">
			<portlet-name>Faces Portlet portlet</portlet-name>
			<default-locale>en</default-locale>
			<language locale="en">
				<title>Faces Portlet portlet</title>
				<title-short></title-short>
	<description></description>
				<keywords></keywords>
			</language>
			<config-param>
				<param-name>com.ibm.faces.portlet.page.view</param-name>
				<param-value>/FacesPortletView.jsp</param-value>
			</config-param>
			<config-param>
				<param-name>com.ibm.faces.portlet.page.edit</param-name>
				<param-value>/FacesPortletEdit.jsp</param-value>
			</config-param>
		</concrete-portlet>
	</concrete-portlet-app>
</portlet-app-def>  
相关概念
使用 Faces 组件的动态数据
JavaServer Faces portlet 应用程序
相关任务
创建 Faces portlet 项目
创建 Faces portlet
添加和更新现有 IBM portlet 的 Faces portlet 方式
添加和更新现有 JSR 168 portlet 的 Faces portlet 方式
创建 Faces portlet JSP 文件
创建 Faces 应用程序 - 概述
相关参考
Faces 组件参考
Faces 组件的属性
使用条款 | 反馈
(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.