入出力ページのボタンを押したときに、呼び出されるメソッドについて説明します。
入出力ページ側で、ボタンを表示する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"> ......
commands.map側で、入出力ページに定義したデータBeanとコマンドの組に加えて、パッケージ名を含むビジネスクラス名と呼ばれるメソッドを記述します。以下は、1で示した入出力ページのボタンが押されたときに呼ばれるメソッド名として、"showUserSchedule"を定義した時の例です。BoardHandlerクラスにメソッドは実装されているものとします。
commands.mapの例(抜粋)
# commands.map ..... board.ProfileBean;selectuser=board.BoardHandler.showUserSchedule .....
2で記述したメソッドをビジネスクラスに実装します。引数としてcommands.mapで記述したBean名にします。上記引数から、値を取り出し、処理を行うロジックを実装します。
showUserScheduleメソッドの例(抜粋)
public void showUserSchedule(DispatchContext context, ProfileBean dataBean) { ..... この中にボタンが押されたときの処理を記述します。 ..... }