3.23.1 Strutsアプリケーションの開発

Strutsフレームワークを使用しStrutsアプリケーションを開発する場合にはポートレットに対応した開発を行う必要があります。ポートレットに対応させるためには通常のStrutsアプリケーションの開発に加えて以下の対応が必要です。

<この項の構成>
(1) ウィンドウ状態について
(2) 拡張Strutsタグライブラリの使用
(3) ポートレットとして動作するための制限事項
(4) リクエストのフォワード
(5) ライブラリファイル

(1) ウィンドウ状態について

ポートレットはポータル画面に複数のポートレットを配置するため,ウィンドウ状態に応じて画面のサイズが変わります。このため,ウィンドウ状態により画面レイアウトが崩れることがありますのでウィンドウ状態に合わせた画面設計が必要です。

(2) 拡張Strutsタグライブラリの使用

Strutsアプリケーションをポートレットとして動作させるため,拡張Strutsタグライブラリを提供しています。拡張Strutsタグライブラリを使用することでアプリケーション実行にウィンドウ状態やポートレットモードの制御を行うことができるようになります。拡張Strutsタグライブラリの詳細については「14.21 拡張Strutsタグライブラリ」を参照してください。

(3) ポートレットとして動作するための制限事項

(a) リダイレクト

ポートレットとして動作するため,Strutsアプリケーションからリダイレクトの処理を行うことはできません。

(b) リクエストパラメタの予約語

uCosminexus Portal Frameworkでは以下のリクエストパラメタを予約しています。このリクエストパラメタを使用することはできません。

リクエストパラメタ
  • _spage
  • _sorig
  • _kra
リクエストパラメタ(接頭部)
  • hptl.
  • java.
  • javax.

(c) リクエスト属性の予約後

uCosminexus Portal Frameworkでは以下のリクエスト属性予約しています。このリクエスト属性を使用することはできません。

リクエスト属性(接頭部)
  • org.apache.portlet.bridges.struts.
  • jp.co.hitachi.soft.portal.

(d) サーブレットAPIの制限事項

サーブレットAPIから取得できる情報が以下の通り制限されます。

HttpServletRequestクラス
  • getPathTranslated()メソッド
    nullが返却されます。
  • getRealPath()メソッド
    nullが返却されます。
  • getParameter()メソッド
    レンダーパラメタが取得できます。レンダーパラメタはアクションモードで標準APIポートレットを呼び出した時のリクエストパラメタが設定されます。
    getParameterNames()メソッド,getParameterValues()メソッド,getParameterMap()メソッドについても同様にレンダーパラメタが取得できます。
HttpServletResponseクラス
  • EncodeRedirectUrl()メソッド
    引数に指定した値が返却されます。

(e) ポータル画面からのポートレットモードおよびウィンドウステートの変更

ポータル画面からポートレットモードおよびウィンドウステートが変更される場合があります。この場合は,レンダーモードとして実行されるため,レンダーパラメタの引継ぎは行われません。

(4) リクエストのフォワード

リクエストをフォワードしてもポータル画面全体の描画を変更することはできません。ポートレット内容表示領域の描画変更となります。

(5) ライブラリファイル

Strutsアプリケーションを標準APIポートレットとして動作させるためのライブラリおよびTLDファイルは,標準APIポートレットのデプロイ時にアーカイブ内にコピーされます。コピーされるファイルは,以下のディレクトリに格納されています。

{uCosminexus Portal Frameworkインストールディレクトリ}¥container¥