action类是用户请求和业务逻辑之间的桥梁,每个action充当客户的一项业务代理。在requestprocessor类预处理请求时,在创建了action的实例后,就调用自身的processactionperform()方法,该方法在调用action类的execute()。
完整的action
<action path="/aFullAction" type="somePackage.someActionClass"> name="someForm" input="someJSP.jsp" <forward name="successful" path="someJSP.jsp"/> <forward name="failed" path="someOtherJSP.jsp"/> </action>
首先,Struts的ActionServlet接收到一个请求,然后根据struts-config.xml的配置定位到相应的mapping(映射);
接下来假如form的范围是request或在定义的范围中很难找到这个form,创建一个新的form实例;
取得form实例以后,调用其reset ()方法,然后将表单中的参数放入form,假如validate属性不为false,调用validate()方法;
假如validate()返回非空的ActionErrors,将会被转到input属性指定的URI,假如返回空的ActionErrors,那么执行Action的execute() 方法,根据返回的ActionForward确定目标URI。
这样做的效果是:execute()仅当validate()成功以后才执行;input属性指定的是个URI。
免责声明:本站内容仅用于学习参考,信息和图片素材来源于互联网,如内容侵权与违规,请联系我们进行删除,我们将在三个工作日内处理。联系邮箱:chuangshanghai#qq.com(把#换成@)