「アプリケーション開発」のための汎用性が高い、かつ単純なAPIを持ったフルスタックのJavaフレーム
  • TEL: 03-6418-5221
  • TEL: 03-6418-5221

更新画面作成クラス

AbstractFormObjectを生成するクラス。 wisdomx.logic.formtemplate.AbstractFormGeneratorを継承して作成します。  

このクラスの役割は
"パラメータを受け取りSQLを発行してAbstractFormObjectインスタンスを生成する"
です。

_generate()の実装

_generate()

このクラスの利用クラスがAbstractFormObjectGeneraor#generate()を実行すると抽象メソッド#_generate()が 実行されます。

例) #_generate()の実装

    protected AbstractFormObject _generate() throws Exception {
        UserFo fo = new UserFo(rh);
        fo.setUserid(inputForm.getString("userid"));
        fo.toUpdate();
        
        PreparedStatement ps = rh.getConnection().prepareStatement(SQL_SEL_MUSER);
        ps.setString(1, fo.getUserid());
        ResultSet rs = ps.executeQuery();
        
        if (rs.next()) {
            fo.setUserid(rs.getString(1).trim());
            fo.setUsername(rs.getString(2).trim());
            fo.setPassword(rs.getString(3).trim());
            fo.setMailaddress(rs.getString(4).trim());
            fo.getSexkbn().setSelected(rs.getString(5).trim());
            fo.getCitycd().setSelected(rs.getString(6).trim());
        }
        rs.close();
        ps.close();

        ps = rh.getConnection().prepareStatement(SQL_SEL_MUSERHOBBY);
        ps.setString(1, fo.getUserid());
        rs = ps.executeQuery();
        while (rs.next()) {
            fo.getHobbycd().setChecked(rs.getString(1).trim());
        }
        rs.close();
        ps.close();
        
        return fo;
    } 

例)呼び出し側コードサンプル  

    private void update() throws Exception{
        ParameterInputForm pif = new ParameterInputForm();
        pif.addString("userid", rp.getString("userid"));
        UserFog fog = new UserFog(pif,rh);
        rh.setSessionAttribute(getName()+"#user", fog.generate());
        setPage(PAGES[1]);
    }