让一个基ACTION先继续动态ACTION.然后再分发到其它继承了本基ACTION的动态分发处理ACTION
/**
*DispatchAction 分发访问
*
**/
public class BaseAction extends DispatchAction {
@Override
public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
添加权限判断的代码
User user = (User)request.getSession().getAttribute("login");
if(user == null){
return mapping.findForward("login");
}
继续父类的职责,即将请求分发到不同的方法中!
return super.execute(mapping, form, request, response);
}
}
============================================
public class AclAction extends BaseAction {
//再实现动态ACTION应该的操作
@Override
protected ActionForward unspecified(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
AclActionForm aaf = (AclActionForm)form;
.......
return mapping.findForward("index");
}
//多个处理
protected ActionForward add(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
AclActionForm aaf = (AclActionForm)form;
.......
return mapping.findForward("index");
}