Faces ポートレットとプロジェクトの作成

Faces ポートレット・プロジェクトは、いくつかの相違点はありますが、標準ポートレットおよび Faces プロジェクトと共通の特性を共有します。

Faces ポートレット・プロジェクトは、プロジェクトのベースにするポートレット API に基づいて、「新規ポートレット・プロジェクト」ウィザードまたは「新規ポートレット・プロジェクト (JSR 168)」ウィザードを使用して作成されます。デフォルトの Faces ポートレットは、プロジェクトの作成プロセスで追加されます。このウィザードにより、Faces ポートレット構成ファイル、必須のディレクトリー構造、および web.xml ファイルに対する必要なアップデートが、自動的に生成されます。

Faces ポートレット API によって定義される次のタイプのリソースが、プロジェクト内に組み込まれます。
リソース・タイプ ファイル ターゲット・ディレクトリー 注記
JAR すべての必須 Faces JAR ファイル WEB-INF/lib すべての Faces ランタイム JAR ファイルは、ポートレット・プロジェクトの WAR ファイルに組み込まれます。
構成ファイル faces-config.xml WEB-INF 次のものを含みます。
  • FacesContextFactory のポートレット・バージョン
  • ポートレット API オブジェクトの変数リゾルバー
デプロイメント記述子
  • web.xml
  • portlet.xml
WEB-INF

標準の web.xml ファイルが以下のように変更されます。

  • サーブレット com.ibm.faces.webapp.JSResourceServlet が追加されます。
  • servlet および servlet-mapping タグは、 他のポートレットと競合しないようにするために固有の ID をサフィックスとして付けた、ストリング値を持つ ID 属性を持ちます。
以下の情報が portlet.xml に組み込まれています。
  • ポートレット・モード構成が組み込まれています。
  • Faces ポートレット関連の config-param 値が提供されています。
次のサンプルの構成とデプロイメント記述子ファイルの断片は、Faces ポートレット・プロジェクト内で使用される代表的なタグ付けを示しています。
faces-config.xml
要求処理ライフ・サイクルのそれぞれの標準フェーズごとに、 処理の開始および終了がライフ・サイクル・フェーズ・リスナーに通知されます。 詳しくは、PhaseListener javadoc を参照してください。 また、各フェーズについては、PhaseId javadoc も参照してください。 次のライフ・サイクルのセクションが、Faces 構成ファイルに追加されています。
	<lifecycle>
		<phase-listener>com.ibm.faces.webapp.ValueResourcePhaseListener</phase-listener>
	</lifecycle>
FactoryFinder API には、ファクトリーに関する情報、 および特定ファクトリーへのリンクが記載されています。 次のファクトリー・ファインダー・セクションが、IBM® API ポートレットの Faces 構成ファイルに 追加されています。
	<factory>
		<faces-context-factory>com.ibm.faces.context.WPPortletFacesContextFactoryImpl</faces-context-factory>
	</factory>
JSR 168 API ポートレットの場合は、ファクトリーは次のように 定義されます。
	<factory>
		<faces-context-factory>com.ibm.faces.context.PortletFacesContextFactoryImpl</faces-context-factory>
	</factory>
また、それぞれの API タイプごとに VariableResolver セクションが 追加されています。
<!-- variable/property resolver registration [IBM portlet API] -->
	<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>
または
<!-- variable/property resolver registration [JSR 168 portlet API] -->
	<application>
		<variable-resolver>com.ibm.faces.databind.SelectItemsVarResolver</variable-resolver>
		<variable-resolver>
		com.ibm.faces.application.PortletVariableResolver</variable-resolver>
		<property-resolver>com.ibm.faces.databind.SelectItemsPropResolver</property-resolver>
	</application>
web.xml
これは、web.xml に追加されたサンプルの Faces ポートレット・サーブレットを示しています。
<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 ポートレット・サーブレットのサーブレット・マッピングの例です。
<servlet-mapping>
      <servlet-name>faces_portlet.FacesPortletPortlet</servlet-name>
      <url-pattern>/faces_portlet.FacesPortletPortlet/*</url-pattern>
</servlet-mapping>
portlet.xml
これは、portlet.xml に定義されている Faces ポートレット・アプリケーションの例です。
<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 ポートレット・アプリケーション
関連タスク
Faces ポートレット・プロジェクトの作成
Faces ポートレットの作成
既存の IBM ポートレットの Faces ポートレット・モードの追加と更新
既存の JSR 168 ポートレットの Faces ポートレット・モードの追加と更新
Faces ポートレット JSP ファイルの作成
Faces アプリケーションの作成 - 概要
関連資料
Faces コンポーネントの解説
Faces コンポーネントの属性

(C) Copyright IBM Corporation 2002, 2005. All Rights Reserved.