MyStruts1(1)
request.getParameterNames() 可以获得request里的所有键值对
转发的时候同时能够携带数据
需要new一个类专门来负责数据的存储,因数据的数量类型不同,故需要一个空的抽象父类,要实现Serializable接口,因为需要写入对象,下次再调出来.
这里比较头疼的是,必须要重写cfg.xml和rule.xml.原来的根元素是ActiongMappings,现在因为from类跟maps是平级,故需要创建一个新的根元素
struts-config,下面包含from元素和maps元素.maps和from都要指定类地址,以及添加到根元素的方法.另外mapping元素也需要增加name,
attribute和scope属性,以指定from的对应关系,以及使用session还是request处理.
当提交数据处理需求的时候,就放入from对象,from对象通过BeanUtils.copyProperties(a.b)的方法把数据拷贝到新new的User对象
然后这个User对象再跟数据库里的数据比较,若出错就转发回来,注意这里要把哪项出错,以及from对象都放入request.
若正确的话,就直接重定向到list页面.
空的数据处理类的重构
设立一个空的数据处理类想模板,返回值肯定是seccess.这样的话只需要写jsp和cfg.xml了
在Action的execute方法里创建文件夹
因为需要确定该项目的路径,故需要调用servlet对象的getServletContext().getRealPath(dir)方法.dir是自己确定的文件夹名字.
需要重构Action,在里面开放一个setHttpServlet具体方法,在servlet使用Action子类的时候,把this当对象传入set方法里.
不放在execute里的原因是大多数的Action不需要这个属性.