StrutsベースのWebアプリケーションのページ・フローは、アプリケーションのStruts構成ファイルで定義されます。Struts構成ファイルの詳細は、「Struts構成ファイルについて」を参照してください。
JDeveloperでは、様々な方法で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など、コントローラ・テクノロジに依存しないWebアプリケーションを作成する場合、そのアプリケーションの基本単位は、Webページ、およびモデルにアクセスするためのカスタム・サーバー側コード(通常はサーブレット形式)です。
Struts Webアプリケーションでは、モデルにアクセスするコードは1つ以上のアクションとして実装され、アクションとページ間のアプリケーション・フローはアクション・マッピングによって管理されます。アクション・マッピングは、Strutsページ・フロー・ダイアグラムに表示する複数の要素を定義します。次に例を示します。
前述の例にあるアクション・フォワードは、ユーザーがデータのコレクションを参照できる単一のWebページを表示します。Strutsページ・フロー・ダイアグラムには、次の要素があります。
アクション・クラス(この例ではMainAction
)。モデルにアクセスして、後に続くフォワードをActionForward(この例ではsuccess
)のインスタンスとして返します。
フォワード遷移(この例ではsuccess
)。アクションによって返された値を、宛先の指定のリソースにバインドします。ページ・フロー・ダイアグラムでは直線で表されます。
ページ・フォワード・アクション(この例ではmyPage
)。Webページをフォワード・アクションの宛先として指定します。
ページ・フロー・ダイアグラムを作成する際は、コンポーネント・パレットでページ・フォワード要素と「Page」要素を混同しないことが重要です。
ページ・フォワード要素は、Struts構成ファイルにフォワードとその宛先となるWebページを指定したアクションを定義します。「Page」要素は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ページ・フローの作成
Copyright © 1997, 2006, Oracle. All rights reserved.