struts1经过修改父Dispatchaction 达到权限控制
struts1通过修改父Dispatchaction 达到权限控制
1,通过修改父Dispatchaction 达到控制权限,重写DispatchAction的execute方法,加入权限控制,后再调用父类方法
public abstract class BaseDispatchAction extends DispatchAction { // 初始化ActionMessages,以方便其继承的类使用 protected ActionMessages messages = null; @Override public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { // TODO Auto-generated method stub String method= request.getParameter("method"); Permission ps = this.getPermission(mapping, request); ps = new Permission(true,true,true,true,true); if ("list".equals(method)) { if(ps.canAccessOrRead()) { return super.execute(mapping, form, request, response); }else { throw new ErrorCodeException(MessageConst.EXCEPTION_10002,"can not read or access..."); } } return super.execute(mapping, form, request, response); }
2 ,得到变量本身的变量名
public static void main(String[] args) throws Exception { // 测试代码用来获取一个JLabel中声名的所有的属性名和其属性变量 Const cons = new Const(); Field[] fields = cons.getClass().getDeclaredFields(); s.getClass().getDeclaredFields(); for (int i = 0, len = fields.length; i < len; i++) { String varName = fields[i].getName(); Object o = fields[i].get(cons); System.out.println("传入的对象中包含一个如下的变量:" + varName+"="+o ); } }