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

📄 baseaction.java

📁 jsp网站开发四“酷”全书原码
💻 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 + -