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 );
}
}