課題 1.3: UserAdmin ページの開発

この課題を始める前に、『課題 1.2: ポートレット開発の準備およびアプリケーション・フローの定義』を完了していなければなりません。

UserAdminView.jsp ページを作成する

UserAdminView.jsp ページの作成には、ユーザー・インターフェースを設計すること、 および動的データ、EJB セッション参照への関連付けをアプリケーション・ロジックに追加することが含まれます。

  1. UserAdminView.jsp が Page Designer に開いていない場合は、 Web ダイアグラム・エディターにある UserAdminView.jsp アイコンをダブルクリックして開く。
  2. デフォルトの「コンテンツをここに置く」テキストを削除する。
  3. パレットのデータ・ドロワーから EJB セッション Bean オブジェクトをこのファイルにドラッグする。
  4. このセッション Bean ウィザードが開いたら、「新規 EJB 参照」ボタンをクリックする。
  5. AuctionPortletEAR フォルダーと AuctionEJB50 フォルダーを展開して、 「UserFacade」を選択し、エンタープライズ Bean 参照を作成する。
  6. 完了」をクリックする。
  7. セッション Bean ウィザードで「次へ」をクリックする。
  8. findByName(String name) インターフェースを選択する。 このインターフェースはポートレット・ページの入力フィールドに使用されます。
  9. 次へ」をクリックする。
  10. 「入力書式」ページの「オプション」ボタンをクリックして、 「ラベル」フィールドに「検索 (Find)」と入力する。 「OK」をクリックする。
  11. 次へ」をクリックする。ウィザードは「結果書式」ページに移動します。 このページで、データベースのデータを検索して表示するためのデータ・テーブルを定義することになります。
  12. なし (None)」をクリックして、列のすべてを選択解除する。 これによって、ポートレット・ページで使用するデータ・テーブルに応じて、 該当する列を個別に選択、編成、および構成できるようになります。 続いて、以下の列のチェック・ボックスを選択します。
  13. 上矢印ボタンと下矢印ボタンを使用して、選択したデータ列を上述ステップで示された順序に移動する。
  14. ユーザー ID 列のラベル値を選択してユーザー ID を変更する。
  15. 完了」をクリックして、UserAdminView.jsp 用のデフォルト・ユーザー・インターフェースを生成する。 次の画像は、このユーザー・インターフェースの外観です。
    UserAdminView.jsp
  16. UserAdminView.jsp を保管する。

Java ページ・コードを UserAdmin ページに追加する

この課題のこのセクションでは、以下のステップを実施して Java ページ・コードを追加します。

  • セッション・スコープの name パラメーターを保管する。 これによって、今後、ポートレット・コンテンツのリフレッシュ用に再利用できます。
  • セッション・スコープで保管されたパラメーターを「名前」入力フィールドに表示するために、 このパラメーターを初期化する。
  • セッション・スコープで保管された name パラメーターを使用して、結果データを初期化する。
  • 以下のステップを使用して、呼び出しと結果をユーザー・インターフェースにバインドするための EJB 参照ロジックおよびコードを生成できます。

    1. Page Designer のポップアップ・メニューから「ページ・コードの編集」を選択する。
    2. 以下の太字コードを doUserFacadeLocalFindByNameAction() に入力する:
      public String doUserFacadeLocalFindByNameAction() {
          String name = getUserFacadeLocalFindByNameParamBean().getName();
          getSessionScope().put("name", name);
              try {
              userFacadeLocalFindByNameResultBean = getUserFacadeLocal().findByName(name);
              } catch (Exception e) {
                  logException(e);
          }
          return null;
      }
      
    3. 以下の太字コードを getUserFacadeLocalFindByNameParamBean() に入力する:
      public UserFacadeLocalFindByNameParamBean getUserFacadeLocalFindByNameParamBean() {
          if (userFacadeLocalFindByNameParamBean == null) {
              userFacadeLocalFindByNameParamBean = new UserFacadeLocalFindByNameParamBean();
              String name = (String)getSessionScope().get("name");
              userFacadeLocalFindByNameParamBean.setName(name);
          }
          return userFacadeLocalFindByNameParamBean;
      }
      
    4. 以下の太字コードを getUserFacadeLocalFindByNameResultBean() に入力する:
      public RegistrationData[] getUserFacadeLocalFindByNameResultBean() {
          if (userFacadeLocalFindByNameResultBean == null) {
              String name = (String)getSessionScope().get("name");
              if (name != null) {
              try {
                      userFacadeLocalFindByNameResultBean = getUserFacadeLocal().findByName(name);
              } catch (Exception e) {
                  logException(e);
                  }
              }
          }
          return userFacadeLocalFindByNameResultBean;
      }
      
    5. UserAdminView.java を保管して閉じる。

    UserAdminView.jsp を実行する

    この時点までの UserAdmin ポートレットが意図したとおりに作動していることを検証するために、 Rational ツールが提供する内部ブラウザーでこのポートレットを実行する必要があります。 このポートレットを実行するには、次に挙げることを行います。

    1. プロジェクト・エクスプローラーの AuctionPortlet プロジェクトを選択して、 このポップアップ・メニューから「実行」 > 「サーバーで実行」の順に選択する。
    2. 既に WebSphere Portal v5.1 テスト環境は定義済みなので、 「サーバーの選択」ウィザードでこれを選択して、「完了」をクリックする。
    3. 最終的に、このファイルはブラウザーに表示されます。 ここで、ユーザーがポータル・サイトで見ることになる入力フィールドとレイアウトを見ることができます。
      UserAdmin ポートレット
    4. 入力書式と作成したばかりのデータ・テーブルをテストするには、 「名前」フィールドに % と入力して、「検索」ボタンをクリックする。

      このデータ・テーブルには、すべてのユーザーが表示されます。
      UserAdmin 照会結果

    次の課題に進む前に、開発のパフォーマンスを改善するために、テスト環境サーバーの停止をお勧めします。 テスト環境サーバーを停止するには、「サーバー」ビューでこのサーバーだけを選択して、 「サーバーの停止」ツールバー・ボタン サーバーの停止 をクリックします。

    これで、『課題 1.4: ユーザー情報の作成と編集用のページの作成』を開始する準備が完了しました。

    フィードバック
    (C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.