struts1 原理

来源:互联网 发布:淘宝新手开店培训 编辑:程序博客网 时间:2024/05/09 13:36
保存到会话中

Ø         form重置:调用reset()

Ø         接收请求参数(采用了反射机制,org.apache.common的类)@注:处理multipart,时,动态的从config.xmlcontrollermultipartClass载入处理类生成对象,附给formmultiparthandler域,可操纵。

Ø         根据请求是否是cancle form,进行如下操作setAttribute(Globals.CANCEL_KEY, Boolean.TRUE),在actionisCancelled(request)中将返回此变量。

Ø         验证form

Ø         如果Globals.CANCEL_KEYtrue进入下一步。

Ø         从配置中读取Validate,如不需验证,进入下一步。

Ø         调用form bean validate()方法,此方法将返回一个ActionErrors

Ø         监视ActionErrors,如果次对此对象是null或者为空,接受输入,进入下一步。

Ø         否则,先调用multiparthandlerollback,然后读取此form bean input设置,如果input 为空,通过response.sendError()发送noInput错误信息;否则先设置request.setAttribute(Globals.ERROR_KEY, errors),然后转发到input页面。在input叶面可以用 来调用在此方法中生成的actionarrors

此标签的几个属性:name一般不设置,它的默认值和actionerrors的保存键都是Globals.ERROR_KEYproperty就是得到error列表中keypropertyerrors,不设置将得到所有的。

Ø         处理相关的action

Ø         如果actionforward或者是include,执行后返回。

Ø         否则执行excute()2、执行转发动作3、如果抛出异常,将依据定义的异常捕获设置,转向相应的处理叶面。

Ø         方法返回。