并非所有的事情都是您想的那样正确,因为在
success回调函数中您已经收到
INPUT结果。该结果由
workflow拦截器返回,该拦截器位于
defaultStack-如果您的操作未覆盖拦截器配置,则默认使用的拦截器堆栈中。它检查动作调用是否具有验证错误(例如动作错误或字段错误(转换错误)),然后返回参数指定的结果
inputResultName。默认情况下,此参数设置为“输入”。如果拦截器返回结果,则会中断一系列拦截器并调用动作方法。您注意到它说
这不是要声明的动作类 。
解决方案是重写操作的拦截器配置以使用基本堆栈,即不使用
validation和/或使用
workflow拦截器。
<action name="savePersonalDetails" method="updateEmployeeDetails"> <interceptor-ref name="basicStack"/> <result name="success">empMyProfile.jsp</result></action>
如果您仍然需要执行验证,则可以通过 编程
或配置
workflow拦截器来过滤您的操作方法。仅当您有足够的理由时才应使用最后一个选项,因为它克服了拦截器本身的目的。



