STRUTS1.3

发布时间 : 星期二 文章STRUTS1.3更新完毕开始阅读

True,yes--------HttpServletResponse sendRedirect 可以跳转到应用外的页面,必须设置

ActionForm

工作原理

处理ActionForm的一般步骤:

A.检查Action的映射,确定Action中已经配置了对ActionForm的映射 B.根据name属性,查找form bean的配置信息

C.检查Action的form bean的使用范围,确定在此范围下(request,session),是否有此form bean实例

D.假如当前范围下,已经存在了此form bean的实例,而是对当前请求来说,是同一种类型的话,请慎用

E.否则,就重新构建一个form bean的实例(调用构造方法),并且保存在一定作用范围 F.Form bean的reset()方法被调用 G.调用对应的setter方法,对状态属性赋值

H.如果validate的属性设置为true那么就调用form bean的validate()方法 I.如果validate()方法没有返回任何错误,控制器将ActionForm作为参数,传给Action实例的execute()方法并执行

J.注意:直接从ActionFrom类继承的reset()和validate()方法,并不能实现什么处理功能,所以有必要自己重新覆盖由页面向 Action发出请求

查找Action,看Action是否有name属性 查找,根据name和scope Scope getAttribute(name)

Scope 是struts-config.xml 是否找到 中的Action标签的一个属性 ,表示作用范围(个人理解是 否就是Action实例化存在

的域),默认值为 没找到就实例化一个 Scope setAttribute(name,form) session,

是否需要校验 validate

和查找Action类似,看一下有没有可用的form bean有就直接调用该form bean的reset方法,没有就创建一个,并保存在一定作用范围 找到Action的实例就跳过实例化一个Action的步骤 取值,从客户端参数,request.getParameter()获取用户提交的数据和赋值

校验 是否校验成功 校验失败错误页面 校验成功,发送请求到Action

监听器

在struts里面还有监听器,监听器要继承你要监听的东西如下面代码

联系合同范文客服:xxxxx#qq.com(#替换为@)