日期:2014-05-20  浏览次数:20610 次

在action把actionForm存到request和在struts-config.xml中配置actionform有什么区别
如题。
假如我通过点击A页面的Button迁移到B页面,这个Button对应一个action处理,我在action中return mapping.findfaward之前把actionform存到request里 和我在struts-config中配置Button对应的action-mapping时指定name属性(name在form-bean中定义了),我试了下,效果是一样的。

请问这两种处理的区别?谢谢。

------解决方案--------------------
一个是业务逻辑,一个框架配置。
action-mapping中的name指明action使用的是哪一个form,
并且该form存在的范围是:request,session.
这是个必选属性。

在action调用哪个form是你的业务逻辑,你也可以调用其他的form。


------解决方案--------------------
我有点不明白,既然struts框架设计时用配置文件的方式配置action和actionform的关系(就是你的第二种方式),你为什么还要自己采用第一种方式来手动配置一下呢?这两种方式在传值方面的的原理是一样的,struts自身也是使用把form存在会话中(比如request、session等)。但是使用struts的配置方式,还可以使用form中的验证函数和reset函数,并且还有一些框架中默认的验证等功能,具体的很详细的功能可以看一下struts的源代码,不知道我说的够不够明白,如果还不明白可以单独找无聊或继续跟帖。
------解决方案--------------------
都一样,本质是都一样的,但是我更倾向于第二种,更好的利用框架的配置文件以后维护包括易用性上更好。自己用习惯哪个就用哪个吧。
------解决方案--------------------
利用框架提供的更加规范