開発したStrutsアプリケーションを標準APIポートレットとして作成するために,次に示す設定を行います。標準APIポートレットのディレクトリ構成は「3.25.1 標準APIポートレットのディレクトリ構成」を参照してください。
(1) web.xmlの編集
以下の定義を追加します。
<servlet>
<servlet-name>action</servlet-name>
<servlet-class>jp.co.hitachi.soft.portal.portal.portlets.strutsbridge.PortletServlet</servlet-class>
<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/struts-config.xml</param-value>
</init-param>
<init-param>
<param-name>debug</param-name>
<param-value>2</param-value>
</init-param>
<init-param>
<param-name>detail</param-name>
<param-value>2</param-value>
</init-param>
<load-on-startup>2</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.shtml</url-pattern>
</servlet-mapping>
<taglib>
<taglib-uri>http://soft.hitachi.co.jp/portal/bridges/struts/tags-portlet-html</taglib-uri>
<taglib-location>/WEB-INF/cosmi/portal/taglib/struts-portlet-html-1.0.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>http://soft.hitachi.co.jp/portal/bridges/struts/tags-portlet-html-el</taglib-uri>
<taglib-location>/WEB-INF/cosmi/portal/taglib/struts-portlet-html-el-1.0.tld</taglib-location>
</taglib>
(2) ポートレットアプリケーションDDの作成
Portlet Specification 1.0に従いポートレットアプリケーションDD(portlet.xml)を作成してください。portlet.xmlを作成する際には以下の情報を設定してください。
jp.co.hitachi.soft.portal.portal.portlets.strutsbridge.StrutsPortlet
<portlet-class>jp.co.hitachi.soft.portal.portal.portlets.strutsbridge.StrutsPortlet</portlet-class>
<init-param>
<name>ServletContextProvider</name>
<value>jp.co.hitachi.soft.portal.portal.portlets.strutsbridge.ServletContextProviderImpl</value>
</init-param>
<init-param>
<name>ViewPage</name>
<value>/index.shtml</value>
</init-param>
<init-param>
<name>HelpPage</name>
<value>/help.shtml</value>
</init-param>
<supports>
<mime-type>text/html</mime-type>
<portlet-mode>VIEW</portlet-mode>
<portlet-mode>HELP</portlet-mode>
</supports>
(3) struts-config.xmlファイルの編集
controllerタグを次のとおりに設定してください。
<controller pagePattern="$M$P" inputForward="false"
processorClass="jp.co.hitachi.soft.portal.portal.portlets.strutsbridge.PortletRequestProcessor"/>