action类及相关类介绍.doc
文本预览下载声明
(Struts)Action类及其相关类
org.apache.struts.action.Action类是Struts的心脏,也是客户请求和业务操作间的桥梁。每个Action类通常设计为代替客户完成某种操作。一旦正确的Action实例确定,就会调用RequestProcessor类的execute()方法。该方法的结构如下:
//摘自org.apache.struts.action.Action类?????public?ActionForward?execute(ActionMapping?mapping,?ActionForm?form,ServletRequest?request,ServletResponse?response)?throws?Exception??????{????????try????????{????????????return?execute(mapping,?form,(HttpServletRequest)?(Object)?request,(HttpServletResponse)?(Object)?response);????????}?catch?(ClassCastException?e)?{????????????return?null;????????}????}????public?ActionForward?execute(ActionMapping?mapping,?ActionForm?form,?HttpServletRequest?request,HttpServletResponse?response)?throws?Exception?????{????????return?null;????}
在Struts应用程序中,具体的Action子类需要扩展Action类,以提供execute()方法的实现。execute()方法有四个参数:ActionMapping对象,ActionForm对象,HttpServletRequest对象和HttpServletResponse对象。ActionForm对象封装了表单数据,因此Action类可以通过getter方法从该对象中获得表单数据,然后调用模型组件处理这些数据。Action类又通过ActionMapping对象的findForward()方法获得一个ActionForward对象,然后把处理结果转发到ActionForward对象所指的目标。?Action示例:
package?struts.action;import?java.util.ArrayList;import?javax.servlet.http.HttpServletRequest;import?javax.servlet.http.HttpServletResponse;import?javax.servlet.http.HttpSession;import?model.LoginHandler;import?org.apache.struts.action.Action;import?org.apache.struts.action.ActionForm;import?org.apache.struts.action.ActionForward;import?org.apache.struts.action.ActionMapping;import?org.apache.struts.action.DynaActionForm;import?struts.form.LoginHandlerForm;public?class?LoginHandlerAction?extends?Action?{????public?ActionForward?execute(ActionMapping?mapping,?ActionForm?form,????????????HttpServletRequest?request,?HttpServletResponse?response)?{????????????????????????LoginHandlerForm?loginHandlerForm?=?(LoginHandlerForm)?form;????????????????//从Form中取得表单数据????????String?userName?=?loginHandlerForm.getUserName();????????String?userPwd?=?loginHandlerForm.getUserPwd();????????????????//
显示全部