让一个基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");
}
本文介绍了一种基于Struts2框架的分发Action机制,通过定义基类BaseAction来实现权限验证,并通过覆盖execute方法继续动态分发请求到具体的处理方法。此外,还展示了如何在继承BaseAction的子类AclAction中实现特定操作。
1009

被折叠的 条评论
为什么被折叠?



