📄 addressdetailaction.java
字号:
package com.ebusiness.ebank.action;import java.util.Locale;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.ActionForm;import org.apache.struts.action.ActionForward;import org.apache.struts.action.ActionErrors;import org.apache.struts.action.ActionMapping;import org.apache.struts.action.ActionMessage;import org.apache.struts.action.ActionMessages;import org.apache.struts.Globals;import org.apache.log4j.Logger;import org.apache.log4j.MDC;import com.ebusiness.ebank.form.AddressForm;import com.ebusiness.ebank.form.CardholderForm;import com.ebusiness.ebank.bean.AddressValue;import com.ebusiness.ebank.bean.CardholderValue;import com.ebusiness.ebank.exception.SystemException;import com.ebusiness.ebank.exception.BusinessException;import com.ebusiness.ebank.servicedelegate.CardholderAccessDelegate;import com.ebusiness.ebank.util.Constants;/** * <p>Title: </p> * <p>Description: </p> * <p>Copyright: Copyright (c) 2005</p> * <p>Company: eBusiness Inc., All right reserved</p> * @author unascribed * @version 1.0 */public class AddressDetailAction extends Action { public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { Logger log = Logger.getLogger(this.getClass()); MDC.put("userid", request.getRemoteUser()); HttpSession session = request.getSession(false); Locale locale = (Locale)session.getAttribute(Globals.LOCALE_KEY); AddressForm addressDetail = (AddressForm)form; CardholderForm cardDetail = (CardholderForm)session.getAttribute(Constants.CARDHOLDER_FORM); String action = addressDetail.getAction(); addressDetail.setCardholderOID(cardDetail.getObjectID()); ActionErrors errors = new ActionErrors(); // set default flag String forward="failure"; if (("back").equalsIgnoreCase(action)) forward = "back"; else if (("delete").equalsIgnoreCase(action)) forward = "delete"; else if (("preview").equalsIgnoreCase(action)) forward = "preview"; else if (("done").equalsIgnoreCase(action)) //finish entering address data for a new cardholder { forward = "done" ; // avoid duplicate submission caused by double click if (!(isTokenValid(request))) return mapping.findForward(forward); saveToken(request) ; errors = (ActionErrors)addressDetail.validate(mapping,request); if ( errors == null || errors.isEmpty()) { if (errors == null ) errors = new ActionErrors() ; if (addressDetail.getObjectID() < 1) //new address { addressDetail.setObjectID(cardDetail.getNextTempAddressOID()); cardDetail.addAddress(addressDetail); } } } else if (("save").equalsIgnoreCase(action)) { AddressValue aValue; CardholderValue cValue; try { if (cardDetail.getObjectID() < 1) //new cardholder { cardDetail.addAddress(addressDetail); forward = "save"; //forward back to Cardholder Details page } else { if (addressDetail.getObjectID() < 1) //new address { aValue = CardholderAccessDelegate.createAddress( addressDetail.mappingToModel(locale)); cardDetail.addAddress(AddressForm.mappingFromModel(aValue, locale)); } else { aValue = CardholderAccessDelegate.updateAddress( addressDetail.mappingToModel(locale)); cardDetail.replaceAddress(addressDetail, AddressForm. mappingFromModel(aValue, locale)); } } } catch (SystemException e) { log.error(e.getMessage(),e) ; forward = "error" ; } catch (BusinessException e) { errors.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage("errors.businessException",e.getMessage(locale))); saveErrors(request,errors); forward = "failure" ; } } // end "save" if (errors!= null && !errors.isEmpty()) { saveErrors(request, errors); forward = "failure" ; } if (("reset").equals(action)) { forward = "reset" ; ActionForward reset = new ActionForward(); reset.setPath(mapping.findForward(forward).getPath()); reset.setRedirect(true); return reset ; } log.debug("forward is " + forward ); return mapping.findForward(forward); }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -