📄 baseaction.java
字号:
package com.publish.shop.util.javabeans;
import java.util.ArrayList;
import java.util.StringTokenizer;
import java.util.Enumeration;
import java.io.IOException;
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.ActionError;
import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
public abstract class BaseAction extends Action {
protected SessionWrapper sessionWrapper = null;
public BaseAction() {
Debug.println("create action" + this);
}
abstract public ActionForward executeAction(
ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response);
public ActionForward perform(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
throws IOException, ServletException
{
ActionForward forwardPage = null;
// if (!checkSession(form, request))
// {
// request.setAttribute(Constants.Error_Name, Utility.getMessage("Shop.Login.SessionError"));
// return mapping.findForward("welcome");
// }
if (form instanceof BaseForm)
{
BaseForm baseForm = (BaseForm)form;
baseForm.reset(mapping, request);
}
forwardPage = executeAction(mapping, form, request, response);
Debug.println("forward to:" + forwardPage.getName() + "-" + forwardPage.getPath());
return forwardPage;
}
public void clear() { }
protected boolean checkSession(ActionForm form,HttpServletRequest request)
{
boolean check = false;
BaseForm baseForm = (BaseForm)form;
if (baseForm.getStrutsAction()==BaseForm.LOGIN_ACTION)
return true;
HttpSession session = request.getSession(false);
if (session != null)
{
check = true;
if (session.getAttribute(Constants.Session_Wrapper)!=null)
sessionWrapper = (SessionWrapper)session.getAttribute(Constants.Session_Wrapper);
else
check = false;
}
Debug.println("check session: " + check);
return check;
}
public boolean checkPermission(String permissionAction){
boolean isPer = false;
if(sessionWrapper==null)
return false;
if(sessionWrapper.getUserPermission().containsKey(permissionAction))
isPer = false;
else
isPer = true;
return isPer;
}
public SessionWrapper getSessionWrapper(HttpServletRequest request) throws ShopException
{
SessionWrapper sessionWrapper = null;
HttpSession session = request.getSession(false);
if(session.getAttribute(Constants.Session_Wrapper)!=null)
sessionWrapper = (SessionWrapper)session.getAttribute(Constants.Session_Wrapper);
else
throw new ShopException("NoLogin");
return sessionWrapper;
}
public void setSessionId(String sessionId,HttpServletRequest request){
HttpSession session = request.getSession(false);
session.setAttribute(Constants.Current_Session,sessionId);
Enumeration enuSessionNames = session.getAttributeNames();
while(enuSessionNames.hasMoreElements()){
String sessionName = (String)enuSessionNames.nextElement();
if(sessionName.indexOf(sessionId+"/") < 0 && sessionName.indexOf("/")>0){
session.removeAttribute(sessionName);
}
}
}
public void setSessionValue(String sessionName, Object obj,HttpServletRequest request){
HttpSession session = request.getSession(false);
String session_first_name = (String)session.getAttribute(Constants.Current_Session);
session.setAttribute(session_first_name+"/"+sessionName,obj);
}
public Object getSessionValue(String sessionName,HttpServletRequest request){
HttpSession session = request.getSession(false);
String session_first_name = (String)session.getAttribute(Constants.Current_Session);
return session.getAttribute(session_first_name+"/"+sessionName);
}
public void setMenuSession(HttpServletRequest request,String selectedMenu,String selectedSubMenu,String selectedSubSubMenu){
HttpSession session = request.getSession(false);
session.setAttribute(Constants.SelectedMenu,selectedMenu);
session.setAttribute(Constants.SelectedSubMenu,selectedSubMenu);
session.setAttribute(Constants.SelectedSubSubMenu,selectedSubSubMenu);
}
//add
public void setItemIdSession(HttpServletRequest request,String itemId){
HttpSession session = request.getSession(false);
session.setAttribute("ItemId", itemId);
}
public String getNextItemIdSession(HttpServletRequest request){
try
{
HttpSession session = request.getSession(false);
String itemId = (String) session.getAttribute("ItemId");
if (itemId == null) {
itemId = "1";
session.setAttribute("ItemId", itemId);
return itemId;
}
int k = (new Integer(itemId)).intValue();
itemId = (new Integer(k+1)).toString();
session.setAttribute("ItemId", itemId);
return itemId;
}
catch(Exception e)
{
e.printStackTrace();
return "1";
}
}
public void initItemIdSession(HttpServletRequest request)
{
HttpSession session = request.getSession(false);
session.setAttribute("ItemId", "0");
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -