今天发现一个小意外、不知各位是否尝试过?我整合SSH1时、突然间发现的一个小意外、我有两个action A(已经通过spring容器把数据处理类DAO类注入了action A,所以通过set注入)和action B;action A中有一个a方法,action B中有一个b方法,b方法的操作又要用到a方法中的一些操作(当然b方法中还有其他操作),而我这个人有点懒不想再去写一次几乎操作一致的代码,所以我就想了个办法,在spring配置文件(*-*.xml)中把action A注入了action B中,在action B中定义了private 接口(action A用到的接口) 关联的属性(spring配置文件中的注入的属性name名称);然后生成set方法;其后我通过关联属性在action B中的b方法中获得了action A中的a方法,然而我在这个高兴的时刻,错误发生了,错误一:两个formbean发生了冲突,抱错action B中的实体类不能被投射到action B中的实体类,所以我把action A中的(实体类 对象=(实体类)form;)这句话删了错误就解决了,前提是action A中没用到(实体类 对象=(实体类)form;)这句话。错误二:当我调用action A中的方法,然后通过a方法重定向某个页面时怎么也不会重定向到我指定的页面,什么错也没用,通过一系列的测试发现原因(本人认为):当我调用action A中的a方法,进行重定向操作时它是一次request请求,而我又是在action B中对它进行操作的,所以它怎么也不会重定向的,最后我在action A中的a方法重定向时用response.sendRedirect("路径");进行重定向,应为a方法返回的是ActionForward,所以在response.sendRedirect("路径")这行代码后return null。所有的问题就解决了。当然其中有可能还存在一系列问题,本人spring也刚学完,在做一个SSH1项目中发现了这个问题。
SSH框架整合中的那点事儿!
最新推荐文章于 2024-08-29 17:59:52 发布