WebアプリケーションでのStrutsページ・フローについて

StrutsベースのWebアプリケーションのページ・フローは、アプリケーションのStrutsコンフィギュレーション・ファイルで定義されます。Strutsコンフィギュレーション・ファイルの詳細は、「Strutsコンフィギュレーション・ファイルについて」を参照してください。

JDeveloperでは、様々な方法でStrutsコンフィギュレーション・ファイルに挿入する情報を定義できます。これらの方法の詳細は、「Struts編集ツールの選択」を参照してください。

このトピックでは、次の項目について説明します。

ダイアグラムを使用したStrutsページ・フローの定義

StrutsベースのWebアプリケーションのページ・フローを定義する場合は、Strutsページ・フロー・ダイアグラムに従って、ダイアグラムを使用し、アプリケーションに必要なアクションとアクション・フォワードをダイアグラムに挿入することで、Strutsコンフィギュレーション・ファイルの内容を作成および変更できます。Strutsページ・フロー・ダイアグラムを使用したフローの作成方法は、「Webアプリケーションに対するStrutsページ・フローの作成」を参照してください。

Struts DTDで定義されている要素にはページ・フロー設計で使用しない要素も多数ありますが、それらの要素には、構造ウィンドウやプロパティ・インスペクタなどの機能を介してアクセスできます。すべてのStruts要素の詳細は、http://struts.apache.org/index.htmlからApache Strutsのドキュメントを参照してください。

Strutsページ・フロー・ダイアグラムでページ・フローを編集すると、Strutsコンフィギュレーション・ファイルにアクション・マッピング要素が作成されて保持されます。反対に、Strutsコンフィギュレーション・ファイルでXMLを編集し、反映された変更内容をページ・フロー・ダイアグラム、構造ウィンドウおよびプロパティ・インスペクタで確認できます。

単純なStrutsページ・フロー・ダイアグラムの要素

ページ・ナビゲーション用のStrutsなど、コントローラ・テクノロジに依存しないWebアプリケーションを作成する場合、そのアプリケーションの基本単位は、Webページ、およびモデルにアクセスするためのカスタム・サーバー側コード(通常はサーブレット形式)です。

Struts Webアプリケーションでは、モデルにアクセスするコードは1つ以上のアクションとして実装され、アクションとページ間のアプリケーション・フローはアクション・マッピングによって管理されます。アクション・マッピングは、Strutsページ・フロー・ダイアグラムに表示する複数の要素を定義します。次に例を示します。

ページフロー・アクションおよびページ・フォワード

前述の例にあるアクション・フォワードは、ユーザーがデータのコレクションを参照できる単一のWebページを表示します。Strutsページ・フロー・ダイアグラムには、次の要素があります。

ページ・フロー・ダイアグラムのページ・リンク

Strutsページ・フロー・ダイアグラムを使用すると、ページ・リンクをWebページに挿入し、ページ・フローでそのリンクを表示できます。

Strutsアクション・クラスによって実装されるアクションexecute()またはfindForward()メソッドは、結果を指定します。前述の例で、Strutsアクション・クラスによって実装されるアクションexecute()またはfindForward()メソッドは、success結果を指定します。実行時に、フォワードのsuccessの結果によってmyPage.do(拡張子.doは、アクション・マッピングを起動するためにStrutsサーブレット・コントローラで使用するStruts表記)のアクション・マッピングが起動します。このアクション・マッピングは、Webページのページ・フォワード先を指定します。

ページ・フロー・ダイアグラムでWebページをページ・フォワードに関連付けると、JDeveloperはmyPageアクションのフォワード先を更新します。

<action path="/myPage" forward="/myPage.jsp"/>

複数のページがあるWebアプリケーションでは、次に、ページ・フローを開いて別のページを識別します。この操作をStrutsベースのWebアプリケーションで行うには、Struts表記.doのURIを指定するリンクを使用します。次に例を示します。

<html:link page="/MyAction.do">

Strutsページ・フロー・ダイアグラムを使用すると、ページ・フォワード要素から宛先のアクションにページ・リンクを描画することで、ページ・リンクをページに挿入できます。次に例を示します。

ページフロー・アクション、フォワードおよびアクションへのリンク

実行時にユーザーがこのリンクをクリックすると、Strutsサーブレット・コントローラによってURIが解釈され、パス名/MyActionと一致するアクションのフォワードがStrutsコンフィギュレーション・ファイルで識別されます。このアプリケーションでは、宛先のWebページを開くために別のページ・フォワードを定義するパターンが繰り返し継続されます。

この時点では2つのページを持つアプリケーションがあり、たとえば、ユーザーがレコードにドリルダウンしてデータを編集し、その変更を最初のページに送信して再表示できます。更新を処理するために、設計するページ・フローの外部でStrutsフォームBean要素を使用できます。

アクション・クラス、およびデータ・バインドされたアプリケーションでOracle ADFアクション・サブクラスを使用する方法の詳細は、「データ・バインドされたStrutsアプリケーションでのページ・フローについて」を参照してください。


JDeveloperでのStrutsサポートについて
WebアプリケーションのStrutsページ・フローの作成