一个关于struts中ActionForm的问题?

我有一个疑惑始终没搞清楚,现在贴出来请各位高人指点指点!谢谢!
AccessoryForm是我自建的附件表单数据模型。(public class AccessoryForm extends ActionForm{})

AccessoryForm accessoryForm = (AccessoryForm)actionForm;
1.这语句是对的吗?为什么
(我似乎觉得它是“下溯造型”)
2.一旦,执行过去后,为什么我就可以通过accessoryForm.getXXX()得到附件对象各种属性!(这种过程中是谁给accessoryForm.setXXX(..)赋值的,怎么赋值的)
3."(AccessoryForm)actionForm"这一句干了些什么?

研究这个问题就看看struts代码啦

to crogers :
我是看过代码后才发表的,挺模糊的!
crogers ,能请你帮忙解释一下吗?





这是java的反射机制

> 我有一个疑惑始终没搞清楚,现在贴出来请各位高人指点指点
> ⌒恍唬?> AccessoryForm是我自建的附件表单数据模型。(public
> class AccessoryForm extends ActionForm{})
>
> AccessoryForm accessoryForm =
> (AccessoryForm)actionForm;
> 1.这语句是对的吗?为什么
> (我似乎觉得它是“下溯造型”)
很正确

> 2.一旦,执行过去后,为什么我就可以通过accessoryForm.ge
> XXX()得到附件对象各种属性!(这种过程中是谁给accessory
> orm.setXXX(..)赋值的,怎么赋值的)
> 3."(AccessoryForm)actionForm"这一句干了些什么?
建议你看看think in java,这和struts无关

1,这个actionForm本来就是AccessoryForm类型,只是传递参数到Action的时候cast成ActionForm了,有问题么?用instanceof看看?
2。这个是struts-config.xml把一个表单和一个actionform关联起来,一旦提交那个表单Struts自动按照名称反射填充那些值
3.cast.

我也是struts的初学者
你说的这个问题目,是java的基础问题ActionForm是struts提供的类,其实我们自己也能做,你自己做的类不是继承了ActionForm吗,说白了ActionForm就是把表单的内容装入到其中。