webwork2中有两种Action的驱动方式,它们就是property-drivern和model-driven,对于这两种方式来说,不同的人有不同的看发,我比较喜欢以model-driven的方式来实现property-driven.为什么这么说呢?在webwork中提供了ModelDriven这个接口,以此来实现Model-driven,其实这两者之间没有什么必然的联系,实现了model-driven后,只不过是将我们的model对象放在了valuestack中,这样就可以直接用模型对象的属性名来实现对模型对象属性的访问,但是我们完全可以不实现ModelDriven接口,我们照样也可以使用model对象来组织我们的数据,而这个时候因为值栈中只有Action对象,而没有model对象,所以我们不能直接用model对象的属性名来访问其属性了,而只能用model.property这种方式访问model的属性,这就好比是先调用action.getModel().getProperty或者action.getModel().setProperty(),所以ModelDriven接口与Action到底是不是模型驱动的没有什么必然的关系,即使不实现它,我们也照样可以用model实现Action.
1 楼
a3mao
2008-04-16
当然了,这样做程序上没啥好说的,都能得到你想要的东西。但是我觉得model-driven和property-drivern最大的区别在于你怎么去理解你的action。property-drivern顾名思义,所有的属性都是属于action的,而model-driven是在action中引用了model,属于聚合关系。