Package com.action.user

Source Code of com.action.user.UserInputAction

package com.action.user;

import java.io.File;
import java.util.Map;

import javax.servlet.http.HttpServletRequest;
import org.apache.commons.io.FileUtils;
import org.apache.struts2.interceptor.ServletRequestAware;

import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.ModelDriven;
import com.opensymphony.xwork2.Preparable;

import com.common.ImageProcess;
import com.db.organization.DeptJobDAO;
import com.db.user.*;
public class UserInputAction extends ActionSupport implements ModelDriven<Object>, Preparable, ServletRequestAware{
  // 파일 업로드 관련
  private File upload;
  private File saveFile;
  private String uploadFileName; 
  private HttpServletRequest servletRequest;

  // 기타 유저정보
  private UserVO uVO; 
  private UserDAO userDAO;
  private DeptJobDAO orgDAO;
  private ImageProcess imgProc;
 
  public void setImgProc(ImageProcess imgProc) {
    this.imgProc = imgProc;
  }
  public void setUserDAO(UserDAO userDAO) {
    this.userDAO = userDAO;
  }
  public void setOrgDAO(DeptJobDAO orgDAO) {
    this.orgDAO = orgDAO;
  }
 
  public void setuVO(UserVO uVO) {
    this.uVO = uVO;
  }
  public void setUpload(File upload) {
    this.upload = upload;
  }
  public void setUploadFileName(String uploadFileName) {
    this.uploadFileName = uploadFileName;
  }

  @Override
  public void prepare() throws Exception {
    uVO = new UserVO();
  }
  @Override
  public Object getModel() {
    return uVO;
  }
 
  // 업로드 경로를 얻기 위해 리퀘스트 객체를 얻어온다
  @Override
  public void setServletRequest(HttpServletRequest servletRequest) {
    this.servletRequest = servletRequest;
  }
 
  public String insertUser(){
    String result = "";
    try {
      uVO.setSlevel(orgDAO.getSlevel(uVO.getJobno()));
      userDAO.insertUser(uVO);     
      result = "success";
    } catch (Exception e) {
      System.out.println("UserInputAction.insertUser():"+e.toString());
      result = "error";
    }
    return result;
  }
 
  public String updateUser(){
    String result = ""
    String fn = "";
    try {
      // 실제 업로드 대상 폴더의 경로를 얻어온다     
      String path = servletRequest.getSession().getServletContext().getRealPath("/upload/user/photo");   
      // 업로드 사진이 있을 경우 파일을 생성한다
      if(upload != null && upload.exists()){       
        //saveFile = new File(path+"\\"+uploadFileName);
        fn = "pi_"+uVO.getSabun()+".jpg";
        saveFile = new File(path+"\\"+fn);
        FileUtils.copyFile(upload, saveFile);       
        imgProc.createFixedSize(path, fn);
        // 파일명을 vo에 저장
        uVO.setPhotofn(fn);
      }
      // 직급 테이블로부터 얻어온 보안등급 초기값 설정     
      uVO.setSlevel(orgDAO.getSlevel(uVO.getJobno()));
      // 실제 업데이트 수행
      userDAO.updateUser(uVO);
      // 수정된 vo객체를 세션에 저장
      ActionContext context = ActionContext.getContext();
      Map<String, UserVO> session = (Map<String, UserVO>)context.getSession();
      uVO = userDAO.getUserInfo(uVO.getSabun());
      session.put("user", uVO);       
      context.setSession(session);     
      result = "success";
    } catch (Exception e) {
      System.out.println("UserInputAction.updateUser():"+e.toString());     
      result = "error";
    }
    return result;
  }
}
TOP

Related Classes of com.action.user.UserInputAction

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.