Struts ポートレット・プロジェクトは、いくつかの相違点はありますが、 標準ポートレットおよび Struts プロジェクトと共通の特性を共有します。Struts ポートレット・プロジェクト構造および関連リソースは、WebSphere® Portal が提供する Struts Portlet Framework (SPF) サポートによって規定され、Rational® Developer に組み込まれています。
Struts ポートレット・プロジェクトは、「新規ポートレット・プロジェクト」ウィザードを使用して作成されます。 デフォルトの Struts タイプ・ポートレット、およびオプションとして Web ダイアグラム・ファイルが、プロジェクトの作成プロセスで追加されます。 このウィザードにより、Struts ポートレット構成ファイル、 および web.xml ファイル、portal.xml ファイルに対する必要なアップデートが自動的に生成され、 すべての SPF タグ・ライブラリーと JAR ファイルが、要求されているディレクトリー構造内のプロジェクトに追加されます。
リソース・タイプ | ファイル | ターゲット・ディレクトリー | 注記 |
---|---|---|---|
TLD |
|
WEB-INF | |
JAR |
|
WEB-INF/lib | |
構成ファイル |
|
WEB-INF | Request Processor のクラスを定義する <controller> エレメントは、Struts 構成ファイル内に自動的に生成されます。 |
デプロイメント記述子 |
|
WEB-INF | IBM (レガシー) API ポートレット 標準の web.xml ファイルが以下のように変更されます。
|
JSR 168 (標準) API ポートレット 次の 項目が、portlet.xml ファイルに組み込まれています。
JSR 168 SPF に適した Struts ポートレット・タグ・ライブラリーの定義 および Struts モードでサポートされるウェルカム・ファイルのリストが、web.xml ファイルに 組み込まれています。 |
次のサンプルの構成とデプロイメント記述子ファイルの断片は、Struts ポートレット・プロジェクト内で使用される代表的なタグ付けを示しています。
<controller processorClass="com.ibm.wps.portlets.struts.WpsRequestProcessor"> </controller>
<servlet id="Struts_Unique_Servlet_Name"> <servlet-name>Struts</servlet-name> <display-name>Struts Portlet</display-name> <servlet-class>com.ibm.wps.portlets.struts.WpsStrutsPortlet</servlet-class> <!-- Struts configuration --> <init-param> <param-name>config</param-name> <param-value>/WEB-INF/struts-config.xml</param-value> </init-param> <init-param> <param-name>struts-servlet-mapping</param-name> <param-value>*.do</param-value> </init-param> <!-- end of Struts configuration --> </servlet>
<servlet-mapping id="Struts_Unique_ServletMapping"> <servlet-name>Struts</servlet-name> <url-pattern>/Struts/*</url-pattern> </servlet-mapping>これは、web.xml に追加できる追加のタグ・ライブラリーの例です。
<taglib> <taglib-uri>/WEB-INF/struts-html.tld</taglib-uri> <taglib-location>/WEB-INF/struts-html.tld</taglib-location> </taglib>
<portlet-app uid="A_Unique_ID:1" major-version="1" minor-version="0"> <portlet-app-name>Struts Portlet Application</portlet-app-name> <portlet id="Portlet_1" href="WEB-INF/web.xml#Struts_Unique_Servlet_Name" major-version="1" minor-version="0"> <portlet-name>Struts Portlet</portlet-name> <cache> <expires>0</expires> <shared>NO</shared> </cache> <allows> <maximized/> <minimized/> </allows> <supports> <markup name="html"> <view/> </markup> </supports> </portlet> </portlet-app>これは、portlet.xml に定義されたコンクリート・ポートレットの例です。
<concrete-portlet-app uid="A_Unique_ID:1.1"> <portlet-app-name>Struts Blank Application</portlet-app-name> <concrete-portlet href="#Portlet_1"> <portlet-name>Struts Portlet</portlet-name> <default-locale>en</default-locale> <language locale="en"> <title>Struts Portlet</title> <title-short>Struts Portlet</title-short> <description>Struts Portlet</description> <keywords>WPS, Struts</keywords> </language> <config-param> <param-name>FilterChain</param-name> <param-value>StrutsTranscoding</param-value> </config-param> <!-- any additional Struts related config-param values added here --> </concrete-portlet> </concrete-portlet-app>
次のサンプルの構成とデプロイメント記述子ファイルの断片は、Struts ポートレット・プロジェクト内で使用される代表的なタグ付けを示しています。
<controller processorClass="com.ibm.portal.struts.portlet.WpRequestProcessor"> </controller>
<taglib> <taglib-uri>/WEB-INF/struts-html.tld</taglib-uri> <taglib-location>/WEB-INF/struts-html.tld</taglib-location> </taglib>
<portlet> <portlet-name>StrutsPortletProject</portlet-name> <display-name>StrutsPortletProject portlet</display-name> <portlet-class> com.ibm.portal.struts.portlet.StrutsPortlet </portlet-class> <!-- Struts configuration --> <init-param> <param-name>config</param-name> <param-value>/WEB-INF/struts-config.xml</param-value> </init-param> <init-param> <param-name>struts-servlet-mapping</param-name> <param-value>*.do</param-value> </init-param> <!-- end of Struts configuration --> <!-- Here is an example of edit mode initialization: --> <init-param> <param-name>config/html/edit</param-name> <param-value>/WEB-INF/struts-html-edit.xml</param-value> </init-param> <!-- The following snippets are generated by the portlet API. --> <expiration-cache>0</expiration-cache> <supports> <mime-type>text/html</mime-type> <portlet-mode>view</portlet-mode> <portlet-mode>edit</portlet-mode> </supports> <supported-locale>en</supported-locale> <resource-bundle> strutsportletjsr168.nl.StrutsPorltetJSR168PortletResource </resource-bundle> <portlet-info> <title>StrutsPortletJSR168 portlet</title> </portlet-info> <portlet-preferences> <!-- example of setting the first page of the html view mode --> <preference> <name>com.ibm.struts.portal.page.view.html</name> <value>index.jsp</value> </preference> <!-- example of setting the first page of the html edit mode --> <preference> <name>com.ibm.struts.portal.page.edit.html</name> <value>html/edit/index.jsp</value> </preference> </portlet-preferences> </portlet>