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");
}
More than 5 years have passed since last update.
Register as a new user and use Qiita more conveniently
- You get articles that match your needs
- You can efficiently read back useful information
- You can use dark theme