DispatchAtion:
- org.apache.struts.actions.DispatchAction
这个类是个抽象类,但实现父类Action的execute方法,在项目中重写这个类可以专注于执行方法面不必自己实现execute方法
直接给一个例子:
1.继承DispatchAtion类,其包括一些方法,如checkUser()、logon()、logout()等,这些方法有一个共同的模板:
publicActionForward XXXmethod( ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response)
{ ... ... }
packageexamples;import javax.servlet.http.*;import org.apache.struts.action.*;import org.apache.struts.actions.*;public class AccountAction extendsDispatchAction {publicActionForward login( ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)throwsException {//進行一些Login的邏輯
return mapping.findForward("success");
}publicActionForward logout( ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)throwsException {//進行一些Logout的邏輯
return mapping.findForward("success1");
}
}
2.在struts-config.xml如下配置:
DynaActionForm
- org.apache.struts.action.DynaActionForm
写ActionForm时要写上它的setter/getter方法,简单的ActionForm可以用这个来代替,它其实是ActionForm的一个子类,用Map方式存储,配置方法如下:
struts-config.xml中:
如此可以取得它:
DynaActionForm dynaActionForm =(DynaActionForm) form;
String username= (String) dynaActionForm.get("username");
String password= (String) dynaActionForm.get("password");
这个(DynaActionForm)form是方法传入来的参数,这个方法的参数列表是固定的,是DispatchAction的执行方法。