工作流拦截器与验证拦截器的区别

时间:2014-04-04 04:23:07

标签: java java-ee struts2 interceptor

我阅读了很多关于拦截器的教程。但我仍然不清楚这两个拦截器。

work-flow拦截器和验证拦截器

哪个拦截器实际上调用了validate()方法??

哪个拦截器可以排除调用validate()??

请用简单的例子解释......

由于

2 个答案:

答案 0 :(得分:2)

  1. 验证拦截器进行实际验证。它调用操作的 validate()方法。如果有任何 @validation 注释,或者有任何xml文件( ActionClass-validation.xml ),则会检查这些验证。如果在验证期间有任何错误消息,它还会添加错误消息。
  2. WorkFlow Interceptor,它检查这些错误,并根据错误的结果更改流程。您可以通过实施 ValidationWorkflowAware 或使用 @InputConfig 注释来更改工作流的默​​认行为。
  3. The workflow documentation不是那么更新,我建议你看看 DefaultWorkflowInterceptor 的来源,这很容易理解。

答案 1 :(得分:0)

Hello Mayur,             在Struts2中,您的动作类中的validate()方法扩展了Action Support 如果你的包扩展了Strutsdefault包,则使用工作流拦截器。 validate()ActionSupport类中实现,当请求出现时,它会在您的类中查找validate方法,然后执行工作流拦截器。 验证Interceptor用于基于注释的验证。