LoginSignup
0
0

More than 5 years have passed since last update.

public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request,
        HttpServletResponse response) throws Exception {

    ///////////////////////////////////////////////
    // [更新]ボタン押下判定
    ///////////////////////////////////////////////
    String type = request.getParameter("submitKousin");
    if (type != null) {// 本来ならば、"ログイン"文字列との比較になるのですが、文字化けするため、NULL比較にしています。
        MainForm mainForm = (MainForm)form;
        request.getSession().setAttribute("SESSION_LOGIN_ID", mainForm.getCustId());
        return setSInfo(mapping, form, request, response);
    }

    ///////////////////////////////////////////////
    // [クリア]ボタン押下判定
    ///////////////////////////////////////////////
    type = request.getParameter("submitClose");// 本来ならば、"クリア"文字列との比較になるのですが、文字化けするため、NULL比較にしています。
    if (type != null) {
        return close(mapping, form, request, response);
    }

    ///////////////////////////////////////////////
    // [更新]ボタン押下判定
    ///////////////////////////////////////////////
    type = request.getParameter("submit");
    if (type != null) {// 本来ならば、"社員更新"文字列との比較になるのですが、文字化けするため、NULL比較にしています。
    return mapping.findForward("");
    }

    ///////////////////////////////////////////////
    // [初期処理]
    ///////////////////////////////////////////////
    return init(mapping, form, request, response);

}


private ActionForward init(ActionMapping mapping, ActionForm form, HttpServletRequest request,HttpServletResponse response) throws Exception {

    MainForm mainForm = (MainForm)form;

    // セッションより社員IDを取得
    String userId = (String)request.getSession().getAttribute("SESSION_LOGIN_ID");

    // 社員情報テーブルから社員情報を取得
    DShainData userInfo = getUserInfo(userId);

    // フォームに対して、値を設定する
    setShainData(mainForm, userInfo);

    // セッションにフォーム情報を設定
    request.getSession().setAttribute("recMainGjobForm", mainForm);

    // 遷移先は自画面(struts-config.xmlで定義)
    return mapping.findForward("success");
}

/**
 * ユーザ情報を取得
 *
 * @param userId
 * @return ユーザ情報
 */
private DShainData getUserInfo(String userId){

    DShainData in = new DShainData();
    in.setShainId(userId);
    MShainInfo mng = new MShainInfo();
    // DBからデータ取得
    DShainData out = mng.getShainInfo(in);
    return out;
}

/**
 *  フォームにデータ設定
 * @param mainForm
 * @param userInfo
 */
private void setShainData(MainForm mainForm, DShainData userInfo)   {

    // 社員IDを設定
    mainForm.setCustId(userInfo.getShainId());
    // 社員名を設定
    mainForm.setName(userInfo.getShainNm());
    //社員年齢を設定
    String age = Integer.toString(userInfo.getAge());
    mainForm.setAge(age);
    // 郵便番号を設定
    mainForm.setPostNo(userInfo.getPostNo());
    // 県番号を設定
    mainForm.setKenNo(userInfo.getAddressCd());
    // 住所2を設定
    mainForm.setAddress2(userInfo.getAddress2());
    // 住所3を設定
    mainForm.setAddress3(userInfo.getAddress3());

}


/**
 * 社員情報更新処理です。
 *
 * @param mapping
 * @param form
 * @param request
 * @param response
 * @return ActionForward
 */
private ActionForward setSInfo(ActionMapping mapping, ActionForm form, HttpServletRequest request,
        HttpServletResponse response) throws Exception {

    //formにあるJSPより取得したデータをKshinseiForm型にする
    MainForm mainForm = (MainForm)form;

    // セッションより社員IDを取得
    String userId = (String)request.getSession().getAttribute("SESSION_LOGIN_ID");

    //JSPより取得したデータをSQLでインサートするほうへ移す
    DShainData upData = new DShainData();
    upData.setShainId(userId);
    upData.setShainNm(mainForm.getName());
    int iAge = Integer.parseInt(mainForm.getAge());
    upData.setAge(iAge);
    upData.setPostNo(mainForm.getPostNo());
    upData.setAddressCd(mainForm.getKenNo());
    upData.setAddress2(mainForm.getAddress2());
    upData.setAddress3(mainForm.getAddress3());
    //upData.setDelKbn("0");
    //upData.setEntryId("111003");
    //upData.setUpdateId("111003");


    // データINSERTクラス
    MShainInfo info = new MShainInfo();

    // データをUPDATEクラスへリストデータ送信
    info.upDateSInfo(upData);

    // 遷移先は自画面(struts-config.xmlで定義)
    return mapping.findForward("kosin");


}
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0