Struts ポートレットのリリース情報

© Copyright International Business Machines Corporation 2006. All rights reserved.

リリース情報

1.0 制限
   1.1 Struts テンプレートのタグは、Struts ポートレット・ツールにより十分にサポートされていない
   1.2 Struts タイルのポートレット開発は、Struts ポートレット・ツールによりサポートされていない
2.0 既知の問題と回避方法
   2.1 インポートされた Struts ポートレットのサンプルには、エラーが定義されていないターゲット・ランタイムが含まれる場合がある
   2.2 動的ページ・テンプレートへのサポートは、Struts タイル・ポートレット・プロジェクトに対して機能しない

1.0 制限

1.1 Struts テンプレートのタグは、Struts ポートレット・ツールにより十分にサポートされていない

Struts ポートレット・プロジェクトの開発では、Struts テンプレートのタグは、Struts ポートレット・ツールにより十分にサポートされていない点に注意する必要があります。

  1. Struts テンプレートのタグをパレットから Web ページへ追加する場合、ツールはユーザーの以下の Struts Web taglib ディレクティブ:
    <%@taglib uri="http://jakarta.apache.org/struts/tags-template" prefix="template"%>
    を誤って生成します (正しくは、Struts ポートレット・テンプレート taglib ディレクティブ:

    <%@taglib uri="http://struts.apache.org/tags-template" prefix="template"%>
    )
    ページの taglib ディレクティブの修正によって問題は解決されません。テンプレート・タグが引き続き追加されることにより、不正な taglib ディレクティブが追加され続けます。
  2. Struts テンプレート・タグは、Page designer では表示されません。 

1.2 Struts タイルのポートレット開発は、Struts ポートレット・ツールによりサポートされていない

Struts ポートレット・ツールでは、現在のところ Struts タイルのポートレット開発をサポートしていませんが、Struts タイル・ポートレットのサンプル (IBM および JSR168) を提供しており、これをワークスペースにインポートしてポートレットを構成し、タイルをポートレット・アプリケーションで使用することができます。

注: Struts ポートレット・プロジェクト内でのタイルの開発により、動的テンプレートのサポート (Struts タイル) プロジェクト・ファセットの追加を引き起こす場合があります。これは、ポートレットのデプロイメントの問題が発生する原因となります。詳しくは、既知の問題と回避方法を参照してください。

2.0 既知の問題と回避方法

2.1 インポートされた Struts ポートレットのサンプルには、エラーが定義されていないターゲット・ランタイムが含まれる場合がある

Struts ポートレットのサンプル (IBM または JSR168) をワークスペースにインポートする場合、インポートされた Struts ポートレットのサンプルにはエラーが定義されていないターゲット・ランタイムが含まれる場合があります。ワークベンチ構成や、マシンにインストールされているサーバーの種類によって、エラー「ターゲット・ランタイム WebSphere® Portal V6.0 は定義されていません。」がプロジェクトで発生する場合があります。これは、WebSphere Portal V6.0 がワークベンチのサーバー・リストに存在しないことを示します。

回避方法:
サンプルを使用して実行する前に、以下のようにプロジェクトにターゲット・サーバー・ランタイムをセットアップする必要があります。

  1. 適切なターゲット・サーバーが使用できることを確認します。
    • 設定 (「ウィンドウ」>「設定」>「サーバー」>「インストールされたランタイム」) を行うことで、使用可能なサーバーのリストを表示し、変更することができます。
    • 「WebSphere Portal V6.0 スタブ」を探します。このスタブは、製品のポータル・ツール機能を使用してインストールする必要があります。その他の場合は、「追加」ボタンをクリックして、WebSphere Portal V6.0 Runtime を追加します。
  2. インポートされたプロジェクトを選択し、コンテキスト・メニューを使用してプロジェクトのプロパティーを設定します。
  3. ターゲット・ランタイムを選択します。選択可能な、プロジェクトに一致するターゲット・ランタイムのリストが表示されます。
  4. 「OK」をクリックします。 
  5. サンプルと一緒にインポートされた EAR プロジェクトの手順を繰り返します。
ターゲット・ランタイムを設定後、以下のように、プロジェクトを再ビルドしてエラーを除去してからデプロイすることができます。
  1. プロジェクトを再ビルドするには、「プロジェクト」>「クリーン」>「すべてのプロジェクトをクリーン」または「選択したプロジェクトをクリーン」をクリックして、「OK」をクリックします。注: 一部のサンプルにはエラーが含まれます。
  2. エラーを含むサンプルをデプロイするには、「エラーを含むアプリケーションのサーバーでの公開を許可」チェック・ボックス (「ウィンドウ」>「設定」>「サーバー」>「WebSphere」) を選択して、設定を行う必要があります。 
  3. OK」をクリックします。
  4. プロジェクトをデプロイするには、プロジェクト (EAR プロジェクトではない) を選択し、「実行」>「サーバーで実行」をクリックします。ターゲット・ランタイムには同じタイプのサーバーを選択するようにしてください。

2.2 動的ページ・テンプレートへのサポートは、Struts タイル・ポートレット・プロジェクトに対して機能しない

Struts タイル・ポートレットで作業しながら、動的ページ・テンプレート・サポート(Struts Tiles用)プロジェクト・ファセットを起動してインストールすることが可能です。動的ページ・テンプレート・サポート(Struts Tiles用)プロジェクト・ファセットの追加は、Struts ポートレット・プロジェクトではなく、動的 Web プロジェクト内の Struts タイルを扱うための簡単な方法です。インストールされた場合は、デプロイメントのランタイム・エラーの原因になります。さらに、パレットを使用してタイル・タグを Struts ポートレット JSP に追加すると、不正な taglib ディレクティブが追加されます。

回避方法: Struts タイルのポートレットを開発中である場合、デプロイメントの前に以下の作業が必要です。

  1. 動的ページ・テンプレート・サポート(Struts Tiles用)プロジェクト・ファセットがインストール済みであることを確認します。「プロジェクトのプロパティー」>「プロジェクト・ファセット」を選択して実行することができます。
  2. インストール済みである場合、プロジェクトに追加されている追加サーブレットと構成ファイルの項目を除去します。
    • 配置ディスクリプター・エディター内の web.xml ファイルを開きます。Servlet tab で、TilesServlet 項目を除去し、ファイルを保存します。
    • Struts 構成ファイル・エディター内の struts-config.xml ファイルを開きます。「プラグイン」タブで、org.apache.struts.tiles.TilesPlugin 項目を除去し、ファイルを保存します。
      : 動的ページ・テンプレート・サポート(Struts Tiles用)プロジェクト・ファセットを「プロジェクト・ファセット」ページから除去しても、上記に示される項目は除去されません。プロジェクト・ファセットの項目はリストに残しておくことをお勧めします。
  3. JSP の包含タイル・タグそれぞれについて、struts ポートレット・タイルの taglib が使用されていることを確認します。それ以外の場合 (この場合は WPS V6.0 Struts タイル・ポートレット)、
    • <%@taglib uri="http://jakarta.apache.org/struts/tags-tiles" prefix="tiles"%>
    • を、
    •   <%@taglib uri="http://struts.apache.org/tags-tiles" prefix="tiles"%>
    で置き換えます。