課題 2.4: ナビゲーション規則の使用

始める前に、『課題 2.3: ファイル・アップロード・コンポーネントの使用』を完了しておく必要があります。

「new_record.jsp」ページをセットアップするときに重要なのは、 データベースの各レコードには固有の ID 番号が必要なので、ユーザーが既に使用されている ID 番号を入力しないように注意しなければならないという点です。 これについては、『課題 1.4: 新規レコードの作成』で詳しく説明します。 簡単に言えば、ユーザーにこの誤りをさせないようにすることです。

次の課題 (『課題 2.5: 自動キー生成の使用』) では、 自動キー生成を使用し、ユーザーが ID 番号を入力する必要を完全に回避します。 この課題では、入力された ID が固有であるかどうかを検査します。 固有でない場合は、問題を説明するエラー・ページにユーザーを移動させて、 ユーザーにその修正方法を伝えます。

ナビゲーション規則 は、ユーザーが重複 ID 番号を入力したかしなかったか、その検査結果によって、 ユーザーをエラー・ページか all_records.jsp ページに誘導することができます。 すなわち、このような 2 つの考えられる結果に別名を割り当て、 次に、この 2 つの別名を正しいターゲット・ページにリンクさせます。 この例では、create_record.jsp ページでエラーがあると、ERROR_CREATE 別名にシグナルが送られます。この別名は、このユーザーをエラー・ページに送ります。 ユーザーが create_record.jsp ページを正しく埋めると、MAIN 別名にシグナルが送られて、 この別名は、通常どおり all_records.jsp ページにリンクします。

規則のセットアップ

デモを見る
  1. プロジェクト・ナビゲーターで「new_record.jsp」ページをダブルクリックする。
  2. このページの「新規リストの掲載 (Post New Listing)」ボタンをクリックする。
  3. 「プロパティー」ビューで「規則の追加」をクリックする。 「ナビゲーション規則の追加 (Add Navigation Rule)」ウィンドウが開きます。

    新規レコードをデータベースに作成してコミットしたときに何か間違いがあれば、 最初の規則によって、ユーザーは create_error.jsp という名前のエラー・ページに送られます。

  4. ページ」フィールドに /error_create.jsp と入力する。 このページは存在していませんが、 このチュートリアルの目的からは、存在しているものと仮定することができます。
  5. 指定された結果」ラジオ・ボタンをクリックする。
  6. 指定された結果」ラジオ・ボタンの後にある 1 行テキスト領域に ERROR_CREATE と入力する。
  7. このページのみ」ラジオ・ボタンをクリックする。 このサイトには、ユーザーが重複 ID 番号を入力してこの特定エラーのトリガーとなる可能性のある別のページがないので、このラジオ・ボタンを使用します。
  8. OK」をクリックする。

    次の規則は、ユーザーが有効な ID 番号を入力した場合に、all_records.jsp に戻るようナビゲートするものです。

  9. 規則の追加」ボタンをクリックして、再度、「ナビゲーション規則の追加」ウィンドウを開く。
  10. ページ」ドロップダウン・ボックスを使用して、「all_records.jsp」を選択する。
  11. 指定された結果」チェック・ボックスをクリックし、その後にある 1 行テキスト領域に MAIN と入力する。
  12. 別のページ (たとえば、update_record.jsp ページ) でこの規則を再利用する必要がある場合には、「この規則の使用対象」の下の「すべてのページ」ラジオ・ボタンをクリックする。
  13. OK」をクリックする。 これで、この 2 つの規則は、「プロパティー」ビューに表示されます。

ボタン・アクションから別名を戻す

デモを見る

現在、すべきことで残されているすべては、使用する新規ナビゲーション規則が働くようにすることだけです。 「新規リストの掲載 (Post New Listing)」ボタンのためのコードには、2 つの return 文を追加します。 これらの return 文は、ユーザーがナビゲーション規則で決まっている適切なページに送られるように、 アプリケーション別名を呼び出します。

  1. 新規リストの掲載 (Post New Listing)」ボタンをクリックする。
  2. クイック編集」ビューを開く。
  3. 「クイック編集」で、} catch (Throwable e) { という行を見つける。

    この catch 関数は、ユーザーが重複 ID 番号を入力した場合に実行されます。

  4. この行の終わりの開き中括弧 { と 2、3 行下にある次の閉じ中括弧 } の間のすべてのコードを除去する。 中括弧は、いずれも除去しないでください。
  5. 中括弧の間のコードの代わりに、その位置に、次のテキストを入力する。

    return "ERROR_CREATE";

  6. このコードの下部で、最後の閉じ中括弧 } の下のすべてのコードを除去し、 その場所に次のテキストを入力する。

    return "MAIN";

    このステップによって、課題 1.4 で追加した「ページへジャンプ」アクションが除去されます。 このコードは、ナビゲーション規則が同じことを行うので、不要になりました。

    ユーザーのボタンのコードは、現在下図のようになっているはずです。

    コードの例

  7. 必要であれば、このページを保管してテストする。

オプションで、ユーザーがリストを作成するときにエラーが発生したので、 異なる ID 値を試行するようにとユーザーに説明する、create_error.jsp という名前の単純なエラー・ページを作成することができます。 ここで、既存の ID 値 (たとえば 1) を使用する新規リストの追加を試みることによって、 これらのナビゲーション規則をテストしてみることができます。

これで、『課題 2.5: 自動キー生成の使用』を始める準備が完了しました。

ご利用条件 | フィードバック
(C) Copyright IBM Corporation 2000, 2004. All Rights Reserved.