ページの先頭行へ戻る
 Apcoordinatorユーザーズガイド

F.7.17 入出力ページのボタンから呼び出されるメソッドを知りたい

入出力ページのボタンを押したときに、呼び出されるメソッドについて説明します。

  1. 入出力ページ側で、ボタンを表示するINPUTタグの中に"name=(コマンド名)"を定義します。コマンド名とは、ボタンが押されたときに送られるサーバに送られる文字列をあらわします。このときサーバにhidden属性で一緒に送る文字列として、name="uji.verbs"の値として、"value=(コマンド名)"を追加してください。
    以下の例では、ボタンが押されるとhidden属性として、"uji.verbs"の値と、"uji.id"の値がサーバに送られます。uji.idの値は領域名を記述します。uji:useBeanの中でuji.idと対応するBeanクラス名が記述されています。

    • 入出力ページの例(抜粋)

      <%@ page contentType="text/html; charset=shift_jis" %>
      <%@ taglib uri="uji-taglib" prefix="uji" %>
      <uji:useBean id="menu" request="true" cls="board.ProfileBean" />
          ......
          <INPUT type="hidden" value="selectuser" name="uji.verbs">
          <INPUT type="hidden" value="menu" name="uji.id">
          ......
          <INPUT type="submit" value="選択" name="selectuser">
          ......
  2. commands.map側で、入出力ページに定義したデータBeanとコマンドの組に加えて、パッケージ名を含むビジネスクラス名と呼ばれるメソッドを記述します。以下は、1で示した入出力ページのボタンが押されたときに呼ばれるメソッド名として、"showUserSchedule"を定義した時の例です。BoardHandlerクラスにメソッドは実装されているものとします。

    • commands.mapの例(抜粋)

      # commands.map
      .....
      board.ProfileBean;selectuser=board.BoardHandler.showUserSchedule
      .....
  3. 2で記述したメソッドをビジネスクラスに実装します。引数としてcommands.mapで記述したBean名にします。上記引数から、値を取り出し、処理を行うロジックを実装します。

    • showUserScheduleメソッドの例(抜粋)

      public void showUserSchedule(DispatchContext context, ProfileBean dataBean) {
        .....
        この中にボタンが押されたときの処理を記述します。
        .....
      }