2012年6月19日火曜日

Pluto2.0用ポートレット設定

Apache Pluto2.0用ポートレットに必要な設定を書いておく。

今回のポートレットは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追加ごとに、サーブレットとサーブレットマッピングを追加する。
ここまで設定したらplutoPortlet.warファイルにして、pluto-2.0.3/webappsフォルダにデプロイする。
あとは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 件のコメント:

コメントを投稿