[Jetspeed Simple Portlet Guide] Jetspeed で動かす簡単なポートレットのガイド

This guide provides a tutorial for creating a very simple portlet. Portlets developers should follow the steps below.

このガイドは、とても簡単なポートレットを作成するためのチュートリアルです。ポートレットの開発者は以下のような順序で開発を行います。

[1. The Portlet Class] 1. ポートレットクラス

Create the file Simplest.java in a directory called simplest/WEB-INF/classes:

public class Simplest extends javax.portlet.GenericPortlet
{
    public void doView(javax.portlet.RenderRequest request, javax.portlet.RenderResponse response)
                throws javax.portlet.PortletException, java.io.IOException
    {
            response.setContentType("text/html");
            response.getWriter().println("A very simple portlet.");
    }
}
				

simplest/WEB-INF/classes ディレクトリに Simplest.java というファイルを以下のように作成してください。

public class Simplest extends javax.portlet.GenericPortlet
{
    public void doView(javax.portlet.RenderRequest request, javax.portlet.RenderResponse response)
                throws javax.portlet.PortletException, java.io.IOException
    {
            response.setContentType("text/html");
            response.getWriter().println("A very simple portlet.");
    }
}
				

Compile the class using the command,

javac -cp ~/.maven/repository/org.apache.portals.jetspeed-2/jars/portlet-api-1.0.jar Simplest.java
				

以下のようにコマンドを入力してクラスをコンパイルしてください。

javac -cp ~/.maven/repository/org.apache.portals.jetspeed-2/jars/portlet-api-1.0.jar Simplest.java
				

[2. The portlet.xml] 2. portlet.xml

Create the file portlet.xml in the simplest/WEB-INF directory.

<?xml version="1.0" encoding="UTF-8"?>
<portlet-app id="simplest" version="1.0">
  <portlet id="Simplest">
    <portlet-name>Simplest</portlet-name>
    <display-name>Simple Display Name</display-name>
    <portlet-class>Simplest</portlet-class>
    <supports>
      <mime-type>text/html</mime-type>
      <portlet-mode>VIEW</portlet-mode>
    </supports>
    <supported-locale>en</supported-locale>
    <portlet-info>
      <title>Simple Title</title>
      <short-title>The world's simplest portlet</short-title>
    </portlet-info>
  </portlet>
</portlet-app>
			

simplest/WEB-INF ディレクトリに portlet.xml ファイルを作成してください。

<?xml version="1.0" encoding="UTF-8"?>
<portlet-app id="simplest" version="1.0">
  <portlet id="Simplest">
    <portlet-name>Simplest</portlet-name>
    <display-name>Simple Display Name</display-name>
    <portlet-class>Simplest</portlet-class>
    <supports>
      <mime-type>text/html</mime-type>
      <portlet-mode>VIEW</portlet-mode>
    </supports>
    <supported-locale>en</supported-locale>
    <portlet-info>
      <title>Simple Title</title>
      <short-title>The world's simplest portlet</short-title>
    </portlet-info>
  </portlet>
</portlet-app>
			

[3. The web.xml] 3. web.xml

Create the file web.xml in the simplest WEB-INF directory.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
                         "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
  <display-name>Simplest</display-name>
  <description>The world's simplest portlet</description>
</web-app>
			

simplest/WEB-INF ディレクトリに web.xml ファイルを作成してください。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
                         "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
  <display-name>Simplest</display-name>
  <description>The world's simplest portlet</description>
</web-app>
			

[4. The PSML] 4. PSML ファイル

Create the file simplest.psml in the src/webapp/WEB-INF/pages directory of your Jetspeed Portal. The portlet-app id and the portlet-name are combined to identify the portlet fragment. Rebuild your portal.

page>
  <defaults
     skin="orange"
     layout-decorator="tigris"
     portlet-decorator="tigris"
  />
  <title>The simplest portlet in the world</title>
  <metadata name="title" xml:lang="fr">La plus simple portlet du monde</metadata>

  <fragment id="simplest" type="layout" name="jetspeed-layouts::VelocityTwoColumns">
    <fragment id="simplest-1" type="portlet" name="simplest::Simplest">
      <property layout="TwoColumns" name="row" value="0" />
      <property layout="TwoColumns" name="column" value="0" />
    </fragment>
  </fragment>

  <security-constraints>
    <security-constraints-ref>public-view</security-constraints-ref>
  </security-constraints>
</page>
			

あなたの Jetspeed ポータルディレクトリ以下の src/webapp/WEB-INF/pages ディレクトリに simplest.psml ファイルを作成してください。portlet-app id と portlet-name はポートレットフラグメントを特定するために結合されます。あなたのポータルをリビルドしてください。

<page>
  <defaults
     skin="orange"
     layout-decorator="tigris"
     portlet-decorator="tigris"
  />
  <title>The simplest portlet in the world</title>
  <metadata name="title" xml:lang="fr">La plus simple portlet du monde</metadata>

  <fragment id="simplest" type="layout" name="jetspeed-layouts::VelocityTwoColumns">
    <fragment id="simplest-1" type="portlet" name="simplest::Simplest">
      <property layout="TwoColumns" name="row" value="0" />
      <property layout="TwoColumns" name="column" value="0" />
    </fragment>
  </fragment>

  <security-constraints>
    <security-constraints-ref>public-view</security-constraints-ref>
  </security-constraints>
</page>
			

[5. The WAR file] 5. WAR ファイル

From the directory simplest combine the files above into a war file using the command,

jar cvf ../simplest.war .
			

simplest ディレクトリで、以下のようなコマンドを実行して、以上のファイルを war ファイルにまとめてください。

jar cvf ../simplest.war .
			

[6. Deploy the WAR file] 6. WAR ファイルの配備

Copy the war file to $CATALINA_HOME/webapps/jetspeed/WEB-INF/deploy. Jetspeed-2 will deploy the webapp. Access the page in your navigator http://localhost:8080/jetspeed/portal/simplest.psml.

war ファイルを $CATALINA_HOME/webapps/jetspeed/WEB-INF/deploy にコピーしてください。Jetspeed 2 は webapp を配備します。ブラウザで http://localhost:8080/jetspeed/portal/simplest.psml にアクセスしてください。