baseaction.java

来自「菲律宾的一个大学的图书管理系统 spring+hibernate+veloci」· Java 代码 · 共 81 行

JAVA
81
字号
package biz.bluesky.pts.action;

import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;

import org.apache.struts.action.Action;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionServlet;
import org.springframework.web.context.WebApplicationContext;
import org.springframework.web.context.support.WebApplicationContextUtils;
import java.util.*;
import biz.bluesky.pts.model.*;
import biz.bluesky.pts.service.*;

public abstract class BaseAction extends Action {

  private WebApplicationContext wac;
  private ServletContext servletContext;

  public void setServlet(ActionServlet actionServlet) {
    super.setServlet(actionServlet);
    servletContext = actionServlet.getServletContext();
    wac = WebApplicationContextUtils.getRequiredWebApplicationContext(servletContext);
  }


  public Object getServiceBean(String name) {
    if (wac == null) {
      wac = WebApplicationContextUtils.getRequiredWebApplicationContext(servletContext);
    }
    return wac.getBean(name);
  }
   
    //存在的用户是否具有此权限
	public String checkPermission(
			HttpServletRequest request,
			String permission) throws Exception{
		
		IPermissionService pmService = (IPermissionService)getServiceBean("PermissionService");
		HttpSession session = request.getSession();
		
		int userId;
		String user = (String)session.getAttribute("userId");
		if(user==null){
			userId =0;
		}else{
			userId = Integer.parseInt(user);
		}		
		
		boolean boolValue = pmService.findPermission(userId,permission);
		
		if(boolValue==false){
			return "error";
		}else{
			return "pass";
		}
	}	
	
	//判断用户是否具有此权限
	public String checkPermission(
			int userId,
			String permission) throws Exception{
		
		IPermissionService pmService = (IPermissionService)getServiceBean("PermissionService");
				
		if(userId<0){
			return "error";
		}
		
		boolean boolValue = pmService.findPermission(userId,permission);
		
		if(boolValue==false){
			return "error";
		}else{
			return "pass";
		}
	}
  
}

⌨️ 快捷键说明

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