更新画面クラス
更新画面用のコンテナクラス。
wisdomx.logic.formtemplate.AbstractFormObjectクラスを継承して作成します。
このクラスの役割は
オブジェクトが持つ変数を定義し、値の格納をする。
です。
String、wisdomx.ui.object.*、その他
更新画面に必要な項目を定義します。項目のタイプは場合により異なります。
private String userid = "";
private String username = "";
private String password = "";
private String mailaddress = "";
private Select sexkbn = null;
private Select citycd = null;
private Checkbox hobbycd = null;
変数のsetter/getterを定義します。
public String getUserid() {
return userid;
}
public void setUserid(String userid) {
this.userid = userid;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void set(IRequestHandler rh, IRequestParser rp) throws Exceptionの実装
コマンドクラスがこのクラスに入力値をセットする場合、抽象メソッドのAbstractFormObject#set(IRequestHandler,IRequestParser)を
呼び出します。このメソッドでは、リクエストのパラメータを変数にセットする部分を実装します。
public void set(IRequestHandler rh, IRequestParser rp) throws Exception {
clearMessageList();
userid = rp.getString("userid");
username = rp.getString("username");
password = rp.getString("password");
mailaddress = rp.getString("mailaddress");
sexkbn.setSelected(rp.getString("sexkbn",""));
citycd.setSelected(rp.getString("citycd"));
hobbycd.clearChecked();
hobbycd.setChecked(rp.getStringArray("hobbycd"));
}
コンストラクタで設定
入力値をselect,radio,checkなどwisdomx.ui.objectパッケージのクラスで持ち、事前に必要な場合は
コンストラクタで設定します。
public UserFo(IRequestHandler rh) throws Exception {
IOptionsBuilder ob = Factory.getOptionsBuilder(rh);
sexkbn = ob.build(OptionsConstants.OC_SEXKBN, DataDictionary.SEXKBN.getId());
citycd = ob.build(OptionsConstants.OC_CITYCD, DataDictionary.CITYCD.getId());
hobbycd = new Checkbox(DataDictionary.HOBBYCD.getId(),
ob.build(OptionsConstants.OC_HOBBYCD, DataDictionary.HOBBYCD.getId()).getOptions()
);
}
「コンストラクタでないといけない」というルールではなく目安にします。