⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 userinfoformsaveaction.java

📁 基于Struts的电子银行系统
💻 JAVA
字号:
/*
 * Created on 2005-7-24
 *
 */
package banksystem.action;
import javax.sql.DataSource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.apache.struts.action.Action;
import org.apache.struts.action.*;
import banksystem.business.BusinessDelegate;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import banksystem.VO.UserInfoActionForm;
import banksystem.PO.Customer;
import banksystem.*;
import org.apache.commons.beanutils.*;
/**
 * @author 曲本盛
 *
 * TODO Struts 项目实践
 *  
 * Window - Preferences - Java - Code Style - Code Templates
 */
public class UserInfoFormSaveAction extends Action {
		
	/** TODO 处理用户信息存储请求的Action
	 * @see org.apache.struts.action.Action#execute(org.apache.struts.action.ActionMapping, org.apache.struts.action.ActionForm, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
	 */
	BusinessDelegate business = null;
	private Log log = LogFactory.getLog("banksystem");
	public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm,
			HttpServletRequest request, HttpServletResponse response) throws Exception {
				
		HttpSession session = null;
		ActionMessages errors = this.getErrors(request);
			
		UserInfoActionForm userinfo = (UserInfoActionForm)actionForm;
		Customer customer = new Customer();
		String action = userinfo.getAction();
		//System.out.println(action);
		if(action.equals("create")){
			//在注册新用户时点击取消
			if(this.isCancelled(request)){
				return actionMapping.findForward("login");
			}
			session = request.getSession(true);
			//设置该session最大生存时间
			//session.setMaxInactiveInterval(20);
		}
		else{
            //在修改用户信息时点击取消
			if(this.isCancelled(request)){
				return actionMapping.findForward("main");
			}
			session = request.getSession(false);
			//检验session是否失效
			if(session==null||session.getAttribute(Constants.KEY_CUSTOMER_INFO)==null){
				errors.add("failed",new ActionMessage(Constants.ERRORS_SESSION_INVALID));
				this.saveErrors(request,errors);
				return actionMapping.findForward("login");
			}
		}	
		
		//在将Userinfo中的信息传入业务层前进行编码转换
		String username = userinfo.getUserName();
		String addr = userinfo.getAddr();
		userinfo.setUserName(Encoding.CNtoISO(username));
		userinfo.setAddr(Encoding.CNtoISO(addr));
		//该方法会抛出异常!!
		BeanUtils.copyProperties(customer,userinfo);
		
		business = BusinessDelegate.getInstance();
		try{
			DataSource dataSource = this.getDataSource(request);
			business.userInfoSave(dataSource,customer,action);
			
			//复制一个UserInfoActionForm对象,准备放入session中
			UserInfoActionForm newUserInfo = (UserInfoActionForm)BeanUtils.cloneBean(userinfo);
			newUserInfo.setAccountID(customer.getAccountID());
			
			//关键:若无异常抛出则将userinfo对象存入session中,已备各页查看
			//每次执行该方法均会刷新Session中的userinfo中的数据
			session.setAttribute(Constants.KEY_CUSTOMER_INFO,newUserInfo);
			//业务操作成功返回主服务界面
			if("modify".equals(action)){
				errors.add("success",new ActionMessage("message.success.modify"));
			}
			else{
				errors.add("success",new ActionMessage("message.success.create"));
			}
			this.saveErrors(request,errors);
			return actionMapping.findForward("main");
		}
		catch(Exception e){
			errors.add("failed",new ActionMessage(Constants.ERRORS_DATA_SAVE_EXCEPTION,e.getMessage()));
			this.saveErrors(request,errors);
			e.printStackTrace();
			return actionMapping.getInputForward();
		}
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -