?? commondata.java
字號:
package com.base;
import java.lang.Integer;
import java.util.Vector;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Enumeration;
import javax.servlet.http.HttpSession;
import javax.servlet.http.HttpServletRequest;
import com.erpbase.general.Log;
import com.erpbase.util.Form;
import com.erpbase.util.StringUtility;
import com.erpbase.bl.basemodules.usersession.UserSessionData;
public class CommonData
{
private String _processInfo;
private HttpServletRequest _request; //私有變量,存放來自客戶端的request請求。
private HttpSession _session; //存放用戶的session信息
private UserSessionData _userData; //用戶的session信息
private int iValuesLength = 0; //私有變量,存放字段數組長度。
private HashMap allValuesMap; //私有變量,初始化時存放從頁面獲得的所有值。
/**
* 功能:初始化信息,獲得頁面提交給主控制器的請求信息。
* @param request:客戶端向服務器端的請求信息。
*/
public void init( HttpServletRequest request, HttpSession session)
throws SysException
{
_request = request;
_session = session;
_userData = (UserSessionData)session.getAttribute("usersession");
if(_userData == null) throw new SysException("用戶的session標識錯誤,不是usersession");
setAllRequestValues();
}
/**
* 功能:設置processInfo信息。
*/
public void setProcessInfo(String strProcessInfo)
{
_processInfo = strProcessInfo;
}
/**
* 功能:得到processInfo信息。
*/
public String getProcessInfo()
{
return _processInfo;
}
/**
* 功能:獲得提交頁面所有的數據,存放到allValuesMap中。
*/
private void setAllRequestValues()
{
allValuesMap = new HashMap();
Enumeration enm = _request.getParameterNames();
Form.setRequest(_request);
while( enm.hasMoreElements())
{
String strFieldName = (String)enm.nextElement();
String[] strValues = Form.gets(strFieldName);
allValuesMap.put(strFieldName,strValues);
}
}
/**
* 功能:從session中取出對象
* @param strKey:對象標識
* @return obj :存放的對象
*/
public Object getSessionAttribute(String strKey)
{
return _session.getAttribute(strKey);
}
/**
* 功能:獲得提交頁面request請求。
*/
public HttpServletRequest getRequest()
{
return _request;
}
/**
* 功能:向request中放置對象,這個方法封裝了reqest對象的
* setAttribute()方法。
* @param strKey:鍵值,通過此鍵值獲得存放的對象
* @param obj:存放的Object對象。
*/
public void setAttribute( String strKey,Object obj)
{
_request.setAttribute( strKey,obj);
}
/**
* 功能:設置頁面提交后的返回參數,主控制器執行完成后轉向到
* 操作結果提示頁后,此值作為返回時的參數。
* @param strParameter:返回參數(即"?"后面的參數部分)
*/
public void setReturnParameter( String strParameter)
{
_request.setAttribute("_returnParameter",strParameter);
}
/**
* 功能:設置頁面提交后的返回JSP路徑,主控制器執行完成后轉向
* 此頁面。
* @param strJspPath:返回JSP頁面
* @param bIsRedirectTurnto:是否直接返回,true表示直接返回,false表示
* 先提交到結果提示頁面后再返回。
*/
public void setReturnJspPath(String strJspPath, boolean bIsRedirectTurnto)
{
String strIsRedirectTurnTo = "";
if(bIsRedirectTurnto)
strIsRedirectTurnTo = "Y";
else
strIsRedirectTurnTo = "N";
_request.setAttribute("_returnJspPath", strJspPath);
_request.setAttribute("_returnType",strIsRedirectTurnTo);
}
/**
* 功能:獲得頁面請求信息的名稱。
* @return vctFieldName:頁面請求信息名稱。
*/
public Vector getFieldNames()
{
Vector vctFieldName = new Vector();
Enumeration enm = _request.getParameterNames();
while( enm.hasMoreElements())
{
vctFieldName.add( enm.nextElement());
}
return vctFieldName;
}
/**
*功能:獲得頁面的所有的請求信息的名稱
*說明:其中返回的Map中的key值為名稱的小寫,Value的值為名稱的實際書寫方式
*/
public HashMap getFieldMap()
{
HashMap mapField = new HashMap();
Enumeration enm = _request.getParameterNames();
while( enm.hasMoreElements())
{
String strField = (String)enm.nextElement();
String strValue = strField;
mapField.put(strField.toLowerCase(), strValue);
}
return mapField;
}
/**
* 功能:獲得提交頁面某一組件名稱對應的值。
* @param strFieldName:提交頁面組件名稱
* @return strFieldValue:組件對應值
*/
public String getValue( String strFieldName)
{
String[] strValues = (String[])allValuesMap.get(strFieldName);
if(strValues!=null && strValues.length>0)
return strValues[0];
else
return "";
}
/**
* 功能:獲得提交頁面某一組件名稱對應的值。
* @param strFieldName:提交頁面組件名稱
* @return strFieldValue:組件對應值
*/
public String[] getValues(String strFieldName)
{
return (String[])allValuesMap.get(strFieldName);
}
/**
*功能:從前臺得到需要的有重復的field對象的值
*說明:
@param mapFields中的value為頁面中的fields對象
*/
public HashMap getValues(HashMap mapFields)
{
HashMap mapTemp = new HashMap();
HashMap mapValues = new HashMap();
Iterator iterFieldNames = (mapFields.keySet()).iterator();
int iMaxValuesLen = 0;
while(iterFieldNames.hasNext())
{
String strKey = (String)iterFieldNames.next();
String strFieldName = (String)mapFields.get(strKey);
String[] strValues = getValues(strFieldName);
if(strValues != null && strValues.length>0)
{
mapTemp.put(strKey, strValues);
if(strValues.length>iMaxValuesLen)iMaxValuesLen = strValues.length;
Log.printDebug("&&&&&&&&& strFieldName="+strFieldName+" || iMaxValuesLen="+strValues.length+" &&&&&&&&&&");
}
}
if(iMaxValuesLen>1)
{
Iterator iterValues = mapTemp.keySet().iterator();
while(iterValues.hasNext())
{
String strKey = (String)iterValues.next();
String[] strValues = (String[])mapTemp.get(strKey);
if(strValues!=null && strValues.length==iMaxValuesLen)
{
mapValues.put(strKey,strValues);
}
}
}
else
{
mapValues = mapTemp;
}
iValuesLength = iMaxValuesLen;
return mapValues;
}
/**
*功能:得到頁面數據數組的長度
*/
public int getValuesLength()
{
return iValuesLength;
}
/**
* 功能:獲得操作人所屬的企業編碼
*/
public String getCor_code()
{
Log.printDebug("------------------------------" + _userData.get("cor_code"));
return _userData.get("cor_code");
}
/**
* 功能:獲得操作人的編碼
*/
public String getEmp_code()
{
return _userData.get("emp_code");
}
/**
* 功能:獲得操作人所屬的編碼
*/
public String getDep_code()
{
return _userData.get("dep_code");
}
/**
* 功能:獲得當前的菜單編碼
*/
public String getMenuCode()
{
return StringUtility.dispose((String)_session.getAttribute("menu"));
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -