今回のポートレットはplutoPortletと名づけた。
1.まずportlet.xml。
<?xml version="1.0"?>
<portlet-app xmlns="http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd"
version="2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd">
<portlet>
<description>plutoPortlet</description>
<portlet-name>plutoPortlet</portlet-name>
<display-name>plutoPortlet</display-name><portlet-class>plutoportlet.MyPortlet</portlet-class>
<supports>
<mime-type>text/html</mime-type>
<portlet-mode>view</portlet-mode>
</supports>
<portlet-info>
<title>plutoPortlet</title>
<short-title>plutoPortlet</short-title>
<keywords>plutoPortlet</keywords>
</portlet-info>
</portlet>
</portlet-app>
通常のポートレット用設定だが、 portlet-nameはPluto用にweb.xmlを設定する際、必要になるので注意しとく。
2.次にweb.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="3.0"
xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
<servlet>
<servlet-name>plutoPortlet</servlet-name>
<servlet-class>org.apache.pluto.container.driver.PortletServlet</servlet-class>
<init-param>
<param-name>portlet-name</param-name>
<param-value>plutoPortlet</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>plutoPortlet</servlet-name>
<url-pattern>/PlutoInvoker/plutoPortlet</url-pattern>
</servlet-mapping>
<jsp-config>
<taglib>
<taglib-uri>http://java.sun.com/portlet_2_0</taglib-uri>
<taglib-location>/WEB-INF/portlet_2_0.tld</taglib-location>
</taglib>
</jsp-config>
</web-app>
- 青文字にしたスキーマ設定は、これが無いと/PlutoInvoker/plutoPortletをコールする際にエラーになるので必要。
- 紫文字にしたクラスは、Pluto2.0でのサーブレット。
このサーブレットにポートレットをコールしてもらう(らしい)。 - 赤文字にした設定は、plutoPortletをPlutoに自動認識してもらう為に必要(らしい)。
ポートレットAP1つごとに、この設定を行う。
つまり、ポートレットAP追加ごとに、サーブレットとサーブレットマッピングを追加する。
あとはPlutoが自動的に認識してくれる。
3.pluto-2.0.3/conf/Catalina/localhostに置く、plutoPortlet.xml
<Context path="/plutoPortlet" docBase="plutoPortlet"crossContext="true"/>
このファイルが無いと、VIEWモードしか表示しない。
HELPモードやEDITモードが表示できない。
ポートレット側にエンコーディングフィルタ入れてもダメだった。
対策としては、フロント側となるplutoアプリのweb.xmlを修正する必要がある。
内容を書くと長くなるので、別投稿にて詳細説明。
0 件のコメント:
コメントを投稿