文档详情

action类及相关类介绍.doc

发布:2017-02-16约5.24千字共7页下载文档
文本预览下载声明
(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(); ???????? ????????//
显示全部
相似文档