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

📄 basemainaction.java

📁 j2ee源码
💻 JAVA
字号:
/*
 * Created on 2005/11/2
 */
package com.leeman.wkexs.web.base;

import java.util.Map;
import java.util.HashMap;
import java.util.Enumeration;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;

import javax.servlet.ServletException;
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.ActionMapping;

/**
 * @author Dennis
 */
public abstract class BaseMainAction extends BaseAction{
	
	public Map getCmdMethodMap()
	{
		HashMap map = new HashMap();
		map.put("addNew", "addNew");
		map.put("newSearch", "newSearch");
		map.put("returnToSearch", "returnToSearch");
		map.put("cancel", "cancel");
		map.put("save", "save");
		map.put("delete", "delete");
		map.put("query", "query");
		map.put("editQuery", "editQuery");
		map.put("void", "voids");
		map.put("complete", "complete");
		map.put("copyAsNew", "copyAsNew");
		map.put("post", "post");
	
		return map;
	}
	
	public ActionForward addNew(
		ActionMapping mapping,
		ActionForm form,
		HttpServletRequest request, 
		HttpServletResponse response) throws Exception{
		form.reset(mapping, request);
		initMainForm(mapping, form, request, response);
		doAddNew(mapping, form, request, response);
		setMode(form, request,  BaseConstants.MODE_ADD_NEW);
		return mapping.findForward(getAddNewForward());
	}
	
	public ActionForward copyAsNew(
		ActionMapping mapping,
		ActionForm form,
		HttpServletRequest request, 
		HttpServletResponse response) throws Exception{
		initMainForm(mapping, form, request, response);
		doCopyAsNew(mapping, form, request, response);
		setMode(form, request,  BaseConstants.MODE_ADD_NEW);
		return mapping.findForward(getAddNewForward());
	}
	
	public ActionForward delete(
		ActionMapping mapping,
		ActionForm form,
		HttpServletRequest request, 
		HttpServletResponse response) throws Exception{
		if (doDelete(mapping, form, request, response))
		{
			setMode(form, request, BaseConstants.MODE_RETURN_TO_SERACH);
			return mapping.findForward(getReturnToSearchForward());
		}
		else
		{
			return query(mapping, form, request, response);
		}
	}
		 
	public ActionForward cancel(
		ActionMapping mapping,
		ActionForm form,
		HttpServletRequest request, 
		HttpServletResponse response) throws Exception{
		doCancel(mapping, form, request, response);
		setMode(form, request, BaseConstants.MODE_CANCEL);
		return query(mapping, form, request, response);
	}
	
	public ActionForward returnToSearch(
		ActionMapping mapping,
		ActionForm form,
		HttpServletRequest request, 
		HttpServletResponse response) throws Exception{
		doReturnToSearch(mapping, form, request, response);
		setMode(form, request, BaseConstants.MODE_RETURN_TO_SERACH);
		return mapping.findForward(getReturnToSearchForward());
	}

	public ActionForward save(
		ActionMapping mapping,
		ActionForm form,
		HttpServletRequest request, 
		HttpServletResponse response) throws Exception{
		updateCollectionCache(request, form);
		if (doSave(mapping, form, request, response)){
			BaseCollectionCache collectionCache = (BaseCollectionCache)this.getCollectionCache(request);
			doQuery(mapping, form, request, response);
			initMainForm(mapping, form, request, response);
			loadFormFormCache(mapping, form, request, response);
			setMode(form, request, BaseConstants.MODE_VIEW);
			return mapping.findForward(getQueryForward());
		}
		else
		{
			initMainForm(mapping, form, request, response);
			return mapping.findForward(getMainForward());
		}
	}
	
	public ActionForward voids(
		ActionMapping mapping,
		ActionForm form,
		HttpServletRequest request, 
		HttpServletResponse response) throws Exception{
		updateCollectionCache(request, form);
		if (doVoid(mapping, form, request, response)){
			BaseCollectionCache collectionCache = (BaseCollectionCache)this.getCollectionCache(request);
			initMainForm(mapping, form, request, response);
			doQuery(mapping, form, request, response);
			loadFormFormCache(mapping, form, request, response);
			setMode(form, request, BaseConstants.MODE_VIEW);
			return mapping.findForward(getQueryForward());
		}
		else
		{
			initMainForm(mapping, form, request, response);
			return mapping.findForward(getMainForward());
		}
	}
	
	public ActionForward complete(
		ActionMapping mapping,
		ActionForm form,
		HttpServletRequest request, 
		HttpServletResponse response) throws Exception{
		updateCollectionCache(request, form);
		if (doComplete(mapping, form, request, response)){
			BaseCollectionCache collectionCache = (BaseCollectionCache)this.getCollectionCache(request);
			initMainForm(mapping, form, request, response);
			doQuery(mapping, form, request, response);
			loadFormFormCache(mapping, form, request, response);
			setMode(form, request, BaseConstants.MODE_VIEW);
			return mapping.findForward(getQueryForward());
		}
		else
		{
			initMainForm(mapping, form, request, response);
			return mapping.findForward(getMainForward());
		}
	}
	
	public ActionForward editQuery(
		ActionMapping mapping,
		ActionForm form,
		HttpServletRequest request, 
		HttpServletResponse response) throws Exception{
		if (doEditQuery(mapping, form, request, response)){
			setMode(form, request, BaseConstants.MODE_EDIT);
			if (doQuery(mapping, form, request, response))
			{
				loadFormFormCache(mapping, form, request, response);
				initMainForm(mapping, form, request, response);
				return mapping.findForward(getQueryForward());
			}
			else
			{
				doReturnToSearch(mapping, form, request, response);
				setMode(form, request, BaseConstants.MODE_RETURN_TO_SERACH);
				return mapping.findForward(getReturnToSearchForward());
			}			
		}
		else
		{
			return query(mapping, form, request, response);
		}
	}
	
	public ActionForward query(
		ActionMapping mapping,
		ActionForm form,
		HttpServletRequest request, 
		HttpServletResponse response) throws Exception{
		if (doQuery(mapping, form, request, response)){
			loadFormFormCache(mapping, form, request, response);
			initMainForm(mapping, form, request, response);
			setMode(form, request, BaseConstants.MODE_VIEW);
			return mapping.findForward(getQueryForward());
		}
		else
		{
			doReturnToSearch(mapping, form, request, response);
			setMode(form, request, BaseConstants.MODE_RETURN_TO_SERACH);
			return mapping.findForward(getReturnToSearchForward());
		}
	}

	public ActionForward post(
		ActionMapping mapping,
		ActionForm form,
		HttpServletRequest request, 
		HttpServletResponse response) throws Exception{
		updateCollectionCache(request, form);
		if (doPost(mapping, form, request, response)){
			initMainForm(mapping, form, request, response);
			doQuery(mapping, form, request, response);
			loadFormFormCache(mapping, form, request, response);
			setMode(form, request, BaseConstants.MODE_VIEW);
			return mapping.findForward(getQueryForward());
		}
		else
		{
			initMainForm(mapping, form, request, response);
			return mapping.findForward(getMainForward());
		}
	}

	public String getReturnToSearchForward(){
		return "returnToSearch";
	}
	
	public String getAddNewForward(){
		return "main";
  	}
  	
  	public String getQueryForward(){
  		return "main";
  	}
  	
  	public String getMainForward(){
		return "main";
  	}
  		
	public void initMainForm(ActionMapping mapping,
		ActionForm form,
		HttpServletRequest request,
		HttpServletResponse response)
		throws Exception{};
  		
	public void doAddNew(ActionMapping mapping,
		ActionForm form,
		HttpServletRequest request,
		HttpServletResponse response)
		throws Exception{};
		
	public boolean doVoid(ActionMapping mapping,
		ActionForm form,
		HttpServletRequest request,
		HttpServletResponse response)
		throws Exception{return false;};
	
	public boolean doPost(ActionMapping mapping,
		ActionForm form,
		HttpServletRequest request,
		HttpServletResponse response)
		throws Exception{return false;};
	
	public boolean doComplete(ActionMapping mapping,
		ActionForm form,
		HttpServletRequest request,
		HttpServletResponse response)
		throws Exception{return false;};
	
	public boolean doCopyAsNew(ActionMapping mapping,
		ActionForm form,
		HttpServletRequest request,
		HttpServletResponse response)
		throws Exception{return false;};
		
	//Abstract methods to be implement
	public abstract boolean doSave(ActionMapping mapping,
		ActionForm form,
		HttpServletRequest request,
		HttpServletResponse response)
		throws Exception;
	
	public abstract boolean doQuery(ActionMapping mapping,
		ActionForm form,
		HttpServletRequest request,
		HttpServletResponse response)
		throws Exception;
		
	public abstract boolean doEditQuery(ActionMapping mapping,
		ActionForm form,
		HttpServletRequest request,
		HttpServletResponse response)
		throws Exception;

	public abstract void doCancel(ActionMapping mapping,
		ActionForm form,
		HttpServletRequest request,
		HttpServletResponse response)
		throws Exception;
		
	public abstract void doReturnToSearch(ActionMapping mapping,
		ActionForm form,
		HttpServletRequest request,
		HttpServletResponse response)
		throws Exception;
	
	public abstract boolean doDelete(ActionMapping mapping,
		ActionForm form,
		HttpServletRequest request,
		HttpServletResponse response)
		throws Exception;
		
	protected abstract void updateCollectionCache(HttpServletRequest request, ActionForm form) throws Exception;
	
	public abstract void loadFormFormCache(ActionMapping mapping,
		ActionForm form,
		HttpServletRequest request, 
		HttpServletResponse response) throws Exception;
	
	protected void doAfterExecute(
		ActionMapping mapping,
		ActionForm form,
		HttpServletRequest request,
		HttpServletResponse response)
		throws Exception {
		
		super.doAfterExecute(mapping, form, request, response);
		
		BaseCollectionCache collectionCache = (BaseCollectionCache)this.getCollectionCache(request);
		if (collectionCache != null){
			setPrivList(request, collectionCache.getPrivList());
		}
	}
}

⌨️ 快捷键说明

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