チュートリアル : WEBアプリケーションの開発 05/19/03 09:45:01 |
このレッスンでは、Strutsのフォームおよびアクションについてこれまでに学習した内容を補足します。 また、コードを参照して、ユーザがデータベースを更新できるようなアクションも設定します。
注記: このレッスンでは、配備のエクササイズ用にJ2EEアプリケーションサーバを実行する必要があります。
Contribute a Proverbアクティビティは、Find Proverbsに類似しています。 contributeアクションは、フォームの表示を処理し、saveResultsアクションは、送信されたデータを処理します。
このアクティビティにおける新しい点は、各アクションに独自のActionクラスがあることです。 ContributeActionクラスは、必要に応じてフォームをインスタンス化します。 SaveResultsActionクラスは、送信されたデータを取得し、データベースを更新するためにSQLを構成します。
このエクササイズでは、設定ファイルに2つのアクションを追加します。
注記: Workbench-install-dir/docs/tutorial/TutorialFiles/proverbsディレクトリにあるCutAndPasteCode.txtファイルから、このエクササイズ用のXMLをコピーできます。
action-mappings要素内で、resultsアクションの終了タグ</action>の後に、ことわざの提供フォームを表示するアクションに対して次のXMLを入力します。
<action path="/contribute" type="com.proverb.ContributeAction" name="contributeForm" validate="false"> <forward name="success" path="/contribute.jsp"/> <forward name="failure" path="/contribute.jsp"/> <forward name="cancel" path="/index.jsp"/> </action>
さらにaction-mappings要素内で、</action>の後に、データベースを更新するアクションに対して次のXMLを入力します。
<action path="/saveProverb" type="com.proverb.SaveProverbAction" name="contributeForm" scope="session" input="/contribute.jsp" validate="true"> <forward name="success" path="/contributeResult.jsp"/> <forward name="failure" path="/contributeFailed.jsp"/> <forward name="cancel" path="/index.jsp"/> </action>
ファイルの最初のform-beansセクションで、contributeFormを定義し、そのJavaクラスを特定するform-bean要素を参照します。
<form-bean name="contributeForm" type="com.proverb.ContributeForm"/>
Contribute a Proverbアクティビティには2つのアクションがあることについて説明しました。 いずれのアクションにも、次のようなサポートクラスがあります。
アクション |
サポートしているクラスおよびJSPページ |
---|---|
contribute |
ContributeAction.java ContributeForm.java contribute.jsp |
saveProverb |
SaveProverbAction.java ContributeForm.java contributeResult.jsp、contributeFailed.jsp |
Contribute a Proverbアクティビティは、次のような点でFind Proverbsとは多少異なる方法で実装されます。
ContributeFormは、検証を使用します。つまり、クラスにはvalidate()メソッドがあり、検証が設定ファイルでオンになります。 検証が失敗すると、コントローラでcontribute.jspが再度表示され、エラーメッセージが表示されます。 アプリケーションは、ユーザに対してことわざのテキストおよび国を指定するよう要求します。翻訳を指定する必要はありません。
このエクササイズでは、contributeアクションと Lesson 7, フォームおよび結果ページの定義で説明したFind Proverbsコードの相違点について確認します。
Workbenchで、ContributeForm.javaを開き、validate()メソッドを検索します。
メソッドにより、ActionErrorsオブジェクトが作成されます。 アプリケーションの残りの部分と同様に、エラーメッセージのテキストはApplicationResources.properties内にあり、コードはメッセージキーを参照します。
contribute.jspを開き、errorsカスタムタグを検索します。
検証が失敗した場合、タグにはそのページでのエラーテキストが含まれます。
ContributeAction.javaを開き、コードの量が減少していることを確認します。
このクラスで必要な処理は、フォームをインスタンス化することです。
SaveProverbAction.javaを開き、送信されたことわざのデータを処理するコードを確認します。
コードは、送信されたデータからProverbオブジェクトを構成し、ProverbDataAccessでデータベースを更新するメソッドを呼び出します。
Proverb pvb = new Proverb( contribform.getProverb(), contribform.getTranslation(), contribform.getCountry() ); int result = pda.insertIntoProverbTable( pvb );
DataSourceを取得し、ProverbDataAccessオブジェクトをインスタンス化するコードは、一般的なコードの外観になります。
更新が成功すると、データが再度処理されないよう、フォームがセッションから削除されます。
session.removeAttribute(mapping.getAttribute());
このアプリケーションの最後に到達し、すべてのアクティビティをテストする準備が整いました。
Workbenchで、[Project]>[Build and Archive]の順に選択します。
[Output]ペインに作成エラーが表示されないようにします。
メニューから[Project]>[Deploy Archive]の順に選択します。
[Output]ペインに配備エラーが表示されないようにします。
アプリケーションのURLを入力します。 一般的なURLは、次のとおりです。
http://localhost/ProverbsCloud/proverbs/index.jsp
アプリケーションのナビゲーションメニューで[Contribute]をクリックします。
ことわざの提供フォームが表示されます。
フォームに入力します。 翻訳の箇所は空白のまま残すことができますが、ことわざのテキストおよびソースは、入力必須です。
アプリケーションにより、提供したことわざでデータベースが正常に更新された場合、contributeResult.jspが表示されます。 データベースの更新が失敗した場合、contributeFailed.jspが表示されます。
別のことわざを送信します。 一部のフィールドを空白にしたまま、検証をテストします。
空白にしたフィールドを示すメッセージが表示されます。 URLを確認すると、アプリケーションがContribute Proverbsアクティビティの2番目のアクションであることが分かります。
これで、完了しました。
アプリケーションの開発 このレッスンでは、Proverbsチュートリアルアプリケーションの次の部分を作成するか、次の部分について学習しました。
Workbenchツールの使用 Workbenchで、次のツールを使用しました。
次の学習内容 以上で作業は完了です。 MVCアーキテクチャおよびStrutsに基づくProverbs Webアプリケーションの作成が完了しました。
J2EEおよびWorkbenchについてさらに学習するには、Webサービスチュートリアルを参照してください。
チュートリアル : WEBアプリケーションの開発 05/19/03 09:45:01 |
Copyright © 1997, 1998, 1999, 2000, 2001, 2002, 2003 SilverStream Software, LLC, a wholly owned subsidiary of Novell, Inc. All rights reserved.