这个功能和Struts1中的DispatcherAction比较相像
在struts.xml文件中,
<action name="register" class="tbk.struts.action.RegisterAction" method="abc">
如果没有指定method这个属性,则请求发送过来之后,执行Action类中execute方法,一旦指定了method属性值,则执行Action 中所对应的方法,这是使用了Java的反射机制。
这样新问题又来了,不同的业务逻辑,不可能共同使用一个validate方法,所以Struts2规定,如果处理业务方法名为abc,则输入校验的方法名为validateAbc().
如果一个Action类中有validate方法,是一定要去执行的。不管又没有其他验证方法。也不管其他验证方法是否成功。
比如现在这个情况,执行流程是:
validateAbc()——>validate()——>abc()