Faces ポートレット・プロジェクトは、いくつかの相違点はありますが、標準ポートレットおよび Faces プロジェクトと共通の特性を共有します。
Faces ポートレット・プロジェクトは、プロジェクトのベースにするポートレット API に基づいて、「新規ポートレット・プロジェクト」ウィザードまたは「新規ポートレット・プロジェクト (JSR 168)」ウィザードを使用して作成されます。デフォルトの Faces ポートレットは、プロジェクトの作成プロセスで追加されます。このウィザードにより、Faces ポートレット構成ファイル、必須のディレクトリー構造、および web.xml ファイルに対する必要なアップデートが、自動的に生成されます。
リソース・タイプ | ファイル | ターゲット・ディレクトリー | 注記 |
---|---|---|---|
JAR | すべての必須 Faces JAR ファイル | WEB-INF/lib | すべての Faces ランタイム JAR ファイルは、ポートレット・プロジェクトの WAR ファイルに組み込まれます。 |
構成ファイル | faces-config.xml | WEB-INF | 次のものを含みます。
|
デプロイメント記述子 |
|
WEB-INF | 標準の web.xml ファイルが以下のように変更されます。
以下の情報が portlet.xml に組み込まれています。
|
<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>
<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-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>