📄 userinfoformsaveaction.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 + -