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

📄 basedispatchaction.java

📁 对日软件外包 为东芝做的一个全球商业管理系统
💻 JAVA
字号:
package COMMON;

//import fisco.ec.common.util.LoginCheck;
//import org.apache.struts.action.ActionError;
//import org.apache.struts.action.ActionErrors;
import java.text.MessageFormat;
import java.util.HashMap;
import java.util.ResourceBundle;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import javax.sql.DataSource;

import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.actions.DispatchAction;

import DataBean.GBS_LoginSessionBean;
/**
 * <DL>
 * <DT><B>僋儔僗奣梫</B><DD>
 * 僋儔僀傾儞僩偐傜僒乕僶偵朘傟傞応崌偵丄傑偢偦偺恊傾僋僔儑儞偵払偟傑偡<BR>
 *丂僋儔僀傾儞僩崱憖嶌偺僼僅乕儉偵懳偡傞偺昁梫偺儊僙僢僕傪庢摼偡傞<BR>
 * 屻偱崱憖嶌偡傞偺僼僅乕儉偵懳墳偺嬈柋傾僋僔儑儞傪屇傃弌偡丅<BR>
 * 嬶懱揑側僼傽僀儖偺條幃偼壓婰偺捠傝<BR>
 * <pre>
 * ;<- comment
 * ;
 * public class LoginAction extends BaseDispatchAction
 * 嬈柋傾僋僔儑儞偑偦偺恊傾僋僔儑儞傪宲彸偡傟偽丄偦偺婡擻傪幚尰偱偒傞丅
 * </pre>
 * </DD>
 * </DL>
 * <P></P>
 * @author shaohua
 * @version 1
 */
public class BaseDispatchAction extends DispatchAction implements SystemConstants {

	private DataSource dataSource = null;
	private MessageList messageList = null;

	public DataSource getDataSource() throws Exception {
		if (this.dataSource == null) {
			throw new Exception("No DataSource!!");
		}
		return this.dataSource;
	}

	/**
	 * <DL>
	 * <DT><b>儊僜僢僪奣梫丗</b><DD>
	 * 儁乕僕ID偵廬偭偰僈僀僟儞僗儊僢僙乕僕側偳偺昁梫偺夋柺儊僢僙乕僕傪庢摼偡傞<BR>
	 * </DD><BR>
	 * </DL>
	 * @param mapping 丂Struts1.1僔僗僥儉偺ActionMapping僆僽僕僃僋僩
	 * @param form      Struts1.1僔僗僥儉偺ActionForm僆僽僕僃僋僩丂丂
	 * @param request   Struts1.1僔僗僥儉偺HttpServletRequest僆僽僕僃僋僩
	 * @param response  Struts1.1僔僗僥儉偺HttpServletResponse僆僽僕僃僋僩
	 * @return丂丂丂丂丂丂Struts1.1僔僗僥儉偺ActionForward僆僽僕僃僋僩
	 */
	public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
		System.out.println("[INFO]仯BaseBaseDispAction.executeLogic()仯");
		String strServletPath = request.getServletPath();
		System.out.println("[INFO]ServletPaht:" + strServletPath);

		response.setHeader("Pragma", "No-cache");
		response.setHeader("Cache-Control", "no-cache");
		response.setHeader("Expires", "0");
		//DATA SOURCE 庢摼
		this.dataSource = getDataSource(request);
		HttpSession session = request.getSession();

		//new message list and clear session data
		//removeFromSession( request, ERROR_MESSAGE ); 
		messageList = new MessageList();
		//

		//*************************
		// 僜乕僗偱偒傑偡偑丆僥僗僩偨傔偵丄僐儊儞僩偟傑偡丂20040730丂僗僞乕僩
		//        //session out proc
		if (!strServletPath.equals("/GBS_login.do")) {
			if (session.getAttribute(USERINFOMATION) == null) {
				System.out.println("[INFO]SESSION TIMEOUT.LOCATION TO LOGIN");
				return mapping.findForward("nologin");
			}
		}

		//僜乕僗偱偒傑偡偑丆僥僗僩偨傔偵丄僐儊儞僩偟傑偡丂20040730丂姰椆
		//*************************
		//avoid user direct into jsp page
		ActionForward ret = super.execute(mapping, form, request, response);

		//Error message save 
		if (messageList.size() > 0) {
			converterMessage(); //read message text from resource
			saveToSession(request, ERROR_MESSAGE, messageList);
		}

		return ret;
	}

	/**
	 * <DL>
	 * <DT><b>儊僜僢僪奣梫丗</b><DD>
	 * 僆僽僕僃僋僩傪僙僢僔儑儞偵曐懚偡傞<BR>
	 * <BR>
	 * </DD><BR>
	 * </DL>
	 * @param key 僉乕
	 * @param value 抣
	 */
	public void saveToSession(HttpServletRequest request, String key, Object value) {
		HttpSession session = request.getSession();
		if (session != null) {
			session.setAttribute(key, value);
		}
	}

	/**
	 * <DL>
	 * <DT><b>儊僜僢僪奣梫丗</b><DD>
	 * 僆僽僕僃僋僩傪僙僢僔儑儞偵曐懚偡傞乮Prefix晅丄嬫暿偨傔偵乯<BR>
	 * <BR>
	 * </DD><BR>
	 * </DL>
	 * @param request 儕僋僄僗僩僆僽僕僃僋僩
	 * @param key 僉乕
	 * @param prefix 愙摢帿
	 * @param value 抣
	 */
	public void saveToSession(HttpServletRequest request, String key, String prefix, Object value) {
		HttpSession session = request.getSession();
		if (session != null) {
			HashMap map = (HashMap) session.getAttribute(prefix);
			if (map == null) {
				map = new HashMap();
			}
			map.put(key, value);
			session.setAttribute(prefix, map);
		}
	}

	/**
	 * save CustomerID to session
	 * @param request HttpServletRequest
	 * @param CustomerID String
	 */
	public void setCustomerID(HttpServletRequest request, Integer CustomerID) {
		HttpSession session = request.getSession();
		session.setAttribute(USERINFOMATION, CustomerID);
	}

	/**
	 * <DL>
	 * <DT><b>儊僜僢僪奣梫丗</b><DD>
	 * 僙僢僔儑儞偐傜僆僽僕僃僋僩傪嶍彍<BR>
	 * <BR>
	 * </DD><BR>
	 * </DL>
	 * @param request 儕僋僄僗僩僆僽僕僃僋僩
	 * @param key 僉乕
	 */
	public void removeFromSession(HttpServletRequest request, String key) {
		HttpSession session = request.getSession();
		if (session != null) {
			session.removeAttribute(key);
		}
	}

	/**
	 * <DL>
	 * <DT><b>儊僜僢僪奣梫丗</b><DD>
	 * 愙摢帿偱僙僢僔儑儞偐傜僆僽僕僃僋僩傪堦妵嶍彍<BR>
	 * <BR>
	 * </DD><BR>
	 * </DL>
	 * @param request 儕僋僄僗僩僆僽僕僃僋僩
	 * @param prefix 愙摢帿
	 */
	public void removeFromSessionWithPrefix(HttpServletRequest request, String prefix) {
		HttpSession session = request.getSession();
		if (session != null) {
			session.removeAttribute(prefix);
		}
	}

	/**
	 * <DL>
	 * <DT><b>儊僜僢僪奣梫丗</b><DD>
	 * 僙僢僔儑儞偵奿擺偝傟偰偄傞僆僽僕僃僋僩傪僎僢僩<BR>
	 * <BR>
	 * </DD><BR>
	 * </DL>
	 * @param request 儕僋僄僗僩僆僽僕僃僋僩
	 * @param prefix 愙摢帿
	 * @param key 僉乕
	 * @return 僆僽僕僃僋僩
	 */
	public Object getFromSession(HttpServletRequest request, String prefix, String key) {
		HttpSession session = request.getSession();
		HashMap map;
		if (session != null) {
			map = (HashMap) session.getAttribute(prefix);
			if (map != null) {
				return map.get(key);
			}
		}
		return null;
	}

	/**
	 * <DL>
	 * <DT><b>儊僜僢僪奣梫丗</b><DD>
	 * 僙僢僔儑儞偵奿擺偝傟偰偄傞僆僽僕僃僋僩傪僎僢僩<BR>
	 * <BR>
	 * </DD><BR>
	 * </DL>
	 * @param request 儕僋僄僗僩僆僽僕僃僋僩
	 * @param key 僉乕
	 * @return 僆僽僕僃僋僩
	 */
	public Object getFromSession(HttpServletRequest request, String key) {
		HttpSession session = request.getSession();
		if (session != null) {
			return session.getAttribute(key);
		}
		return null;
	}

	/**
	 * <DL>
	 * <DT><b>儊僜僢僪奣梫丗</b><DD>
	 * FORMBean偵僙僢僔儑儞搊榐儐乕僓忣曬傪僎僢僩<BR>
	 * <BR>
	 * </DD><BR>
	 * </DL>
	 * @param request 			儕僋僄僗僩僆僽僕僃僋僩
	 * @param baseActionFrom 	FormBean偺僆僽僕僃僋僩
	 * @return BaseActionForm
	 */
	public BaseActionForm setUserInfoFromSession(HttpServletRequest request, BaseActionForm baseActionFrom) {

		HttpSession session = request.getSession();
		if (baseActionFrom == null) {
			baseActionFrom = new BaseActionForm();
		}

		//read user info from session
		GBS_LoginSessionBean userInfo = (GBS_LoginSessionBean) this.getFromSession(request, USERINFOMATION);

		if (userInfo != null) {
			baseActionFrom.setLoginAdminAuthority(userInfo.getAdminAuthority());
			baseActionFrom.setLoginDownloadOk(userInfo.getDownloadOk());
			baseActionFrom.setLoginMemberNameFirst(userInfo.getMemberNameFirst());
			baseActionFrom.setLoginMemberNameLast(userInfo.getMemberNameLast());
			baseActionFrom.setLoginMenberKind(userInfo.getMenberKind());
			baseActionFrom.setLoginPassword(userInfo.getPassword());
			baseActionFrom.setLoginSubsidiaryCode1(userInfo.getSubsidiaryCode1());
			baseActionFrom.setLoginSubsidiaryCode2(userInfo.getSubsidiaryCode2());
			baseActionFrom.setLoginSubsidiaryName(userInfo.getSubsidiaryName());
			baseActionFrom.setLoginUserId(userInfo.getUserId());
			baseActionFrom.setLoginEmail(userInfo.getEmail());
			baseActionFrom.setLoginPlusHour(userInfo.getPlusHour());
		}
		return baseActionFrom;
	}

	/**
	 * <DL>
	 * <DT><b>儊僜僢僪奣梫丗</b><DD>
	 * MessageList偵僄儔乕忣曬傪僎僢僩<BR>
	 * <BR>
	 * </DD><BR>
	 * </DL>
	 * @param key 				僄儔乕崁栚俬俢
	 * @param value 			僄儔乕崁栚抣
	 * @param msgid 			僄儔乕僐乕僪
	 * @param rowid 			僄儔乕棑(柧嵶僨乕僞帪巊偆)
	 * @return status			丂
	 */
	public boolean setMessage(Object key, Object value, String msgid, int rowid) {
		boolean ret = false;
		if (messageList != null) {
			ret = messageList.setMessage(key, value, msgid, rowid);
		}
		return ret;
	}

	/**
	 * <DL>
	 * <DT><b>儊僜僢僪奣梫丗</b><DD>
	 * MessageList偵僄儔乕忣曬傪僎僢僩<BR>
	 * <BR>
	 * </DD><BR>
	 * </DL>
	 * @param key 				僄儔乕崁栚俬俢
	 * @param value 			僄儔乕崁栚抣
	 * @param msgid 			僄儔乕僐乕僪
	 * @param rowid 			僄儔乕棑(柧嵶僨乕僞帪巊偆)
	 * @param label 			僄儔乕崁栚柤徧
	 * @return status			丂
	 */
	public boolean setMessage(Object key, Object value, String msgid, int rowid, Object label) {
		boolean ret = false;
		if (messageList != null) {
			ret = messageList.setMessage(key, value, msgid, rowid, label);
		}
		return ret;
	}

	/**
	 * <DL>
	 * <DT><b>儊僜僢僪奣梫丗</b><DD>
	 * MessageList偵僄儔乕忣曬傪僎僢僩<BR>
	 * <BR>
	 * </DD><BR>
	 * </DL>
	 * @param key 				僄儔乕崁栚俬俢
	 * @param value 			僄儔乕崁栚抣
	 * @param msgid 			僄儔乕僐乕僪
	 * @param rowid 			僄儔乕棑(柧嵶僨乕僞帪巊偆)
	 * @param formatArgs 		僄儔乕僷儔儊乕僞
	 * @param label 			僄儔乕崁栚柤徧
	 * @return status			丂
	 */
	public boolean setMessage(Object key, Object value, String msgid, int rowid, Object[] formatArgs, Object label) {
		boolean ret = false;
		if (messageList != null) {
			ret = messageList.setMessage(key, value, msgid, rowid, formatArgs, label);
		}
		return ret;
	}

	/**
	 * <DL>
	 * <DT><b>儊僜僢僪奣梫丗</b><DD>
	 * MessageList偵僄儔乕忣曬傪僎僢僩<BR>
	 * <BR>
	 * </DD><BR>
	 * </DL>
	 * @param messagelist 		僄儔乕Connection
	 * @return status			丂
	 */
	public boolean setMessage(MessageList messagelist) {
		boolean ret = false;
		if (messageList != null && messagelist != null) {
			ret = messageList.addAll(messagelist);
		}
		return ret;
	}

	/**
	 * <DL>
	 * <DT><b>儊僜僢僪奣梫丗</b><DD>
	 * MessageList偵僄儔乕忣曬傪僎僢僩<BR>
	 * <BR>
	 * </DD><BR>
	 * </DL>
	 * @param 側偟
	 * @return status			丂
	 */
	private boolean converterMessage() {

		String DEFAULT_BASE_NAME = "ErrorResources";
		ResourceBundle bundle;
		bundle = ResourceBundle.getBundle(DEFAULT_BASE_NAME);

		boolean ret = true;
		if (messageList != null) {
			for (int i = 0; i < messageList.size(); i++) {
				MessageElement element = (MessageElement) messageList.get(i);
				String msgText = "";
				msgText = bundle.getString(element.getMsgId());
				// formatArgs process
				if (msgText != null && element.getFormatArgs() != null) {
					msgText = MessageFormat.format(msgText, element.getFormatArgs());
				}
				element.setMsgFormat(msgText);
				element.setMsgKind("E");
				messageList.set(i, element);
			}
		}
		return ret;
	}

	/**
	 * <DL>
	 * <DT><b>儊僜僢僪奣梫丗</b><DD>
	 * 僙僢僔儑儞偵Success忣曬傪僎僢僩<BR>
	 * <BR>
	 * </DD><BR>
	 * </DL>
	 * @param request 			儕僋僄僗僩僆僽僕僃僋僩
	 * @param successMsgID 	'00000005' --搊榐惉岟
	 * 							'00000006' --峏怴惉岟
	 * 							'00000007' --嶍彍惉岟
	 * @param successURL 		Back丂URL
	 * @return status
	 */
	public boolean setSuccessInfo(HttpServletRequest request, String successMsgID, String successURL) {
		boolean ret = true;
		String DEFAULT_BASE_NAME = "ErrorResources";
		ResourceBundle bundle;
		bundle = ResourceBundle.getBundle(DEFAULT_BASE_NAME);
		String successMessage = "";

		if (successMsgID != null) {
			successMessage = bundle.getString(successMsgID);
		}
		this.saveToSession(request, SUCCESS_MESSAGE, successMessage);
		this.saveToSession(request, SUCCESS_URL, successURL);

		return ret;
	}

}

⌨️ 快捷键说明

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