概述
struts中处理ActionFormbean的步骤:
<form-bean name="loginForm" type="cn.itcast.web.form.LoginForm" />
<action path="/login" name="loginForm" scope="request" attribute="t" type="cn.itcast.web.action.LoginAction"></action>
1)检查并确认在Action中已经配置了对表单Bean的映射。
2)根据表单Bean的name属性,查找表单Bean的配置信息。
* 查找jsp页面中组件name属性的值是否在LoginForm配置了对应的属性,如果没有配置使用标签测试时,会抛出异常
* LoginForm中的属性的个数大于等于jsp页面中组建的个数
3)检查该表单Bean的使用范围,查找在该范围内,是否已存在该Bean的实例。如果已经存在,那么就重用该实例。
否则,就重新创建一个。
String attribute=mapping.getAttribute();
if(attribute==null){ //不用封装表单的数据到ActionForm中
return null;
}
attribute!=null 情况
//如 attribute!=null 情况 在scope指定的作用域中查找ActionForm的实例
LoginForm loginForm=(LoginForm)request.getAttribute(attribute);
如果没有找到创建一个新的ActionForm
if(loginForm==null){
LoginForm loginForm=new LoginForm();
//封装表单数据
//放置作用域中
request.setAttribute(attribute.loginForm);
}
如果找到直接使用ActionForm的实例
if(loginForm!=null){
//直接封装表单的数据到loginForm中
}
4)调用该Bean实例的reset()方法重置其状态。将属性重置。
5)调用该Bean实例相应的setter方法,使用请求表单中的数据填充Bean的属性。
6)如果启用了validate机制,则调用表单Bean的validate()方法。
如果validate()方法返回任何错误,则跳过步骤7)转到预定的出错处理页面。
7)将该表单Bean实例作为参数,传给处理器对象的execute()方法并执行。
最后
以上就是搞怪机器猫为你收集整理的struts处理ActionForm的步骤的全部内容,希望文章能够帮你解决struts处理ActionForm的步骤所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复