struts学习心得

来源:互联网 发布:电脑格式化后数据恢复 编辑:程序博客网 时间:2024/05/17 23:19

Strut的基本流程 按照struts-config.xml来进行理解,首先是path属性,他的用途就是客户端的请求,具体交给哪一个Action处理,这个过程中,首先是客户端发送请求道服务器,服务器把这个请求全部交给ActionServlet(中央控制器),进行处理,但是这些个请求是有一个约束的,就是必须是.do或在是在web.xml中的下面的*.do所配置的值.再通过配置文件的 config /WEB-INF/struts-config.xml 这个配置把struts告诉给web工程,请求就通过这个区进行下面的操作, 第一检查是否name属性配置,如果有就对name属性所配置的form对象(form对象的生命周期开始),就在作用域中寻找,从小到大,寻找是通过,Attribute属性寻找,默认Attribute的与name属性值相同,在寻找的过程有两种可能,1 是找到2 没有找到,如果找到了,就进行设值,在设值之前,会调用reset方法对属性进行重置,如没有找到,就会创建一个对象放入作用域中,再进行(指定form对象在那个作用域使用scope属性设置),在设值以后,再检查它的vlidate属性是否为true;如果为ture 就进行验证,验证的方式有两种:1 使用vlidate方法,2 是使用vlidator框架进行验证,使用验证方法,缺点是:大家的验证规则都基本类似,所以,重复代码多,所以,提出了第二种方式,使用vlidator框架进行验证,他的这个方式就是把验证规则和需要验证项相分离,达到验证规则的复用性, 在使用验证框架的过程,会使用到国际化和struts验证规则的配置文件,如果为false 级不进行验证(在这里form对象的生命周期也就彻底结束了),交给Action,调用execute方法. Struts的几类from对象 1 静态form (就是一个JavaBean,里面有属性和相应的get 和set方法) ActionForm (所有静态form对象的父类) ValidatorForm (支持验证框架,是通过name属性进行绑定) ActionValidatorForm(支持验证框架,是通过path属性进行验证) 2 动态form(好处:可以不用书写JavaBean对象,直接在struts-config.xml文件进行配置) dynaActionForm(所有动态form对象的父类) DynaVildatorForm (支持验证框架,是通过name属性进行绑定) DynaActionVlidatorForm (支持验证框架,是通过path属性进行验证) LanyVlidatorForm(最常用) 可以封装成一个map对象,但是,必须使用struts标签,可以不用,不会封装成map对象 Struts的几种内置Action对象 Action 内置Action 作用 Action Forward Action 用于页面跳转 Include Action 用于页面包含 DispatchActon 用户一个form表单多个提交按钮是dispatchAction类型的父类 LookUpDispatchAction 用户一个form表单多个提交按钮 Mapping Action 多个form表单操作同一个业务 Swacth Action 可以配置多个struts配置文件,减少struts配置文件的容量 LookUpdispatchAction (他是一个大集成的Action) 他分别由Action,struts标签,国际化,等技术相绑定,在Action类中必须实现一个方法getMapMeatch() 方法,返回值是一个map, map的键是,国际化中的键,map的值是Action中的方法名称, LookUpdispatchAction:的执行流程; 由于是使用了struts 的标签,他会在请求页面的时候,就去检查action 和 actionform 这个两个对象是否存在,和整个流程是否可以走通 Struts 验证框架 验证框架是验证方法的一个分离,主要是验证规则和form提交项相分离,充分的利用了分和复用的思想,验证框架涉及到的struts组件有,国际化,form对象(可以为静态的也可以为动态的) Action 规则文件(xx.xml) 和规则绑定文件(xx.xml) 使用验证框架或者是验证方法,Action的vlidate属性必须是true ,false代表不验证,默认是true ; Struts标签: 三种类型: 生成基本页面元素 页面元素 < html:link> 锚点元素 生成表单元素 xx 代表的是 进行显示 这个标签很好用; 把文件上传做成了简单的io操作 EnCTYpe=”multipart/form-data” 1Bean输出标记 2 创建和复制bean信息的标记 和 复制bean信息,可以局部复制,也可以全部复制,创建bean:只能创建string类型的, 这个是获得一个几个集合对象的大小,隶属于创建bean; 3 访问资源的信息 4 消息国际化的信息 通过key属性和国际化文件的键相匹配 Logic () 条件 迭代 页面上使用这个标记进行循环数组,集合等) ,因为: 标记他会自动验证你的对象是否存在.

原创粉丝点击