关于sturts架构的一个疑惑???

02-11-15 majors

首先,我我不太明确以下ActionForm和ActionFormBean的区别???还望高人能够赐教。

其次,我在struts的API中知道ActionFormBean是在sturts-config.xml文件的<form-bean>xxx</form-bean>标签中定义的。同时我发现在sturts自带的例子中<form-bean>标签中定义的类却是继承于ActionForm,但是,我却没有发现ActionForm和ActionFormBean有什么直接关系,让我百思不得其解,是不是例子中的<form-bean>标签中的类应该继承ActionFormBean呢???

小弟刚刚看了两天还不太明白,见谅。小弟先谢过了。

jxb8901
2002-11-15 19:54

以下是我的理解, 不知对不对.

ActionForm类(包括我们自已从其派生的子类)是一个标准的JavaBean, 它的

作用是在我们的Action类与JSP的表单之间互相传递参数.

而ActionFormBean类是在Struts内部使用的, 用于给我们写的每一个

ActionForm类定义一个逻辑名, 而ActionMapping会使用这个名字将

ActionForm与Action关联(这样可以方便的实现一个ActionForm与多个

Action的关联) , ActionFormBean会保存ActionForm的类名, 在

Struts中还存在一个ActionFormBeans类, 它是ActionFormBean类的集合,

Struts在解析struts-config.xml文件时, xml文件中的form-beans元素会

相应的生成一个ActionFormBeans类, 而form-beans中的每一个form-bean

元素都会相应的生成一个ActionFormBean类.

事实上我们在使用Struts框架时只会接触到很少的几个类, 如ActionForm,

Action, ActionMapping, ActionForward, ActionError等, 一般是不会接

触到ActionFormBean和ActionFormBeans的.

majors
2002-11-16 13:26

谢谢,我明白多了。