第四:马士兵Struts2 视频学习笔记之action类DMI

在action标签中有class属性时,会调用该类中的execute方法,但是也可以不调用execute方法而调用其他的方法,可以再action标签中指定,通过method属性

<action name="hello" class="com.xiaojin.ActionClass" method="invoted">

......

</action>

此时,调用的不是ActionClass类中的execute方法,甚至此时ActionClass类中根本没有execute方法,而是调用invoted方法,但是invoted方法也要返回String类型。

但是一般不采用这种方法,而是采用动态方法调用(DMI Dyanmic Method Invote)。

因为这种方式,在每次调用一个action中的方法时都要写一个action标签,会造成有很多action标签,不便于管理,所以不推荐使用。而是采用动态方法调用。

如果要调用一个action user中的添加用户的方法add方法,只需在url中指定......./user!add。此时表示调用name是user的action的标签中对应的class类中的add方法。如果删除一个用户,只需改为........./user!delete。就会调用对应的类中的delete方法。

调用很多方法时只需配置一个action标签。而不用每次调用一个方法时都要配置一个action标签。

猜你喜欢

转载自huibuqule.iteye.com/blog/1882939