First Previous Next Last チュートリアル : WEBアプリケーションの開発  05/19/03 09:45:01 

Lesson 8    データベース更新用フォームの定義

 
Top of page

学習する内容

このレッスンでは、Strutsのフォームおよびアクションについてこれまでに学習した内容を補足します。 また、コードを参照して、ユーザがデータベースを更新できるようなアクションも設定します。

学習内容は次のとおりです。

 
Top of section

実行する内容

  1. Struts設定ファイルでcontributeアクションを定義する

  2. contributeアクションのコードを検査する

  3. アプリケーションを配備する

  4. contributeアクションおよびアプリケーションの残りのアクティビティをテストする

所要時間   約10分

注記:   このレッスンでは、配備のエクササイズ用にJ2EEアプリケーションサーバを実行する必要があります。

 
Top of page

ことわざを提供するアクションの設定

Contribute a Proverbアクティビティは、Find Proverbsに類似しています。 contributeアクションは、フォームの表示を処理し、saveResultsアクションは、送信されたデータを処理します。

このアクティビティにおける新しい点は、各アクションに独自のActionクラスがあることです。 ContributeActionクラスは、必要に応じてフォームをインスタンス化します。 SaveResultsActionクラスは、送信されたデータを取得し、データベースを更新するためにSQLを構成します。

 
Top of section

EXERCISE 8-1: Struts設定ファイルでcontributeアクションを定義する

このエクササイズでは、設定ファイルに2つのアクションを追加します。

注記:   Workbench-install-dir/docs/tutorial/TutorialFiles/proverbsディレクトリにあるCutAndPasteCode.txtファイルから、このエクササイズ用のXMLをコピーできます。

  1. Workbenchのナビゲーションペインで、struts-config.xmlを検索して開きます。

  2. 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>
    
  3. さらに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>
    
  4. ファイルの最初のform-beansセクションで、contributeFormを定義し、そのJavaクラスを特定するform-bean要素を参照します。

      <form-bean    name="contributeForm"
                    type="com.proverb.ContributeForm"/>
    
  5. ファイルを保存して閉じます。

 
Top of page

contributeアクションをサポートしているクラス

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とは多少異なる方法で実装されます。

 
Top of section

EXERCISE 8-2: contributeアクションのコードを検査する

このエクササイズでは、contributeアクションと Lesson 7, フォームおよび結果ページの定義で説明したFind Proverbsコードの相違点について確認します。

  1. Workbenchで、ContributeForm.javaを開き、validate()メソッドを検索します。

    メソッドにより、ActionErrorsオブジェクトが作成されます。 アプリケーションの残りの部分と同様に、エラーメッセージのテキストはApplicationResources.properties内にあり、コードはメッセージキーを参照します。

  2. contribute.jspを開き、errorsカスタムタグを検索します。

    検証が失敗した場合、タグにはそのページでのエラーテキストが含まれます。

  3. ContributeAction.javaを開き、コードの量が減少していることを確認します。

    このクラスで必要な処理は、フォームをインスタンス化することです。

  4. 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());
    
  5. ファイルを閉じます。

 
Top of page

最終的なアプリケーションの配備およびテスト

このアプリケーションの最後に到達し、すべてのアクティビティをテストする準備が整いました。

 
Top of section

EXERCISE 8-3: アプリケーションを配備する

次の手順は、以前に使用した配備手順と同じです。

  1. Workbenchで、[Project]>[Build and Archive]の順に選択します。

    [Output]ペインに作成エラーが表示されないようにします。

  2. メニューから[Project]>[Deploy Archive]の順に選択します。

    [Output]ペインに配備エラーが表示されないようにします。

 
Top of section

EXERCISE 8-4: contributeアクションおよびアプリケーションの残りのアクティビティをテストする

  1. 新しいブラウザウィンドウを開きます。

  2. アプリケーションのURLを入力します。 一般的なURLは、次のとおりです。

      http://localhost/ProverbsCloud/proverbs/index.jsp
    
  3. アプリケーションのナビゲーションメニューで[Contribute]をクリックします。

    ことわざの提供フォームが表示されます。

  4. フォームに入力します。 翻訳の箇所は空白のまま残すことができますが、ことわざのテキストおよびソースは、入力必須です。

    Tut8 contributeTest

  5. Save]をクリックします。

    アプリケーションにより、提供したことわざでデータベースが正常に更新された場合、contributeResult.jspが表示されます。 データベースの更新が失敗した場合、contributeFailed.jspが表示されます。

  6. 別のことわざを送信します。 一部のフィールドを空白にしたまま、検証をテストします。

    空白にしたフィールドを示すメッセージが表示されます。 URLを確認すると、アプリケーションがContribute Proverbsアクティビティの2番目のアクションであることが分かります。

    Tut8 validateTest

  7. アプリケーションで他のアクティビティをテストします。

  8. テストが終了したら、ブラウザを閉じます。

    これで、完了しました。

 
Top of page

実行した内容のまとめ

アプリケーションの開発   このレッスンでは、Proverbsチュートリアルアプリケーションの次の部分を作成するか、次の部分について学習しました。

Workbenchツールの使用   Workbenchで、次のツールを使用しました。

次の学習内容   以上で作業は完了です。 MVCアーキテクチャおよびStrutsに基づくProverbs Webアプリケーションの作成が完了しました。

J2EEおよびWorkbenchについてさらに学習するには、Webサービスチュートリアルを参照してください。

    First Previous Next Last チュートリアル : 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.