Struts 2 拦截器教程

5 Sept 2024 | 2 分钟阅读

拦截器是在请求的预处理和后处理时调用的一个对象。在 Struts 2 中,拦截器用于执行诸如验证、异常处理、国际化、显示中间结果等操作。

拦截器的优势

可插拔 如果我们需要从应用程序中删除任何关注点,例如验证、异常处理、日志记录等,我们不需要重新部署应用程序。我们只需要从 struts.xml 文件中删除条目。


Struts 2 默认拦截器

Struts 2 框架提供了许多拦截器。我们有选择创建自己的拦截器。Struts 2 默认的拦截器如下所示

1) alias 它转换请求之间具有不同名称的类似参数。

2) autowiring

3) chain 如果它与链结果类型一起使用,它使先前操作的属性在当前操作中可用。

4) checkbox 它用于处理表单中的复选框。通过这个,我们可以检测未选中的复选框。

5) cookie 它向当前操作添加一个 cookie。

6) conversionError 它将转换错误添加到操作的字段错误中。

7) createSession 如果它不存在,则创建 HttpSession 对象。

8) clearSession 它取消绑定 HttpSession 对象。

9) debugging 它提供调试支持。

10) externalRef

11) execAndWait 它发送一个中间等待页面以获取结果。

12) exception 它将异常映射到结果。

13) fileUpload 它提供 Struts 2 中的文件上传支持。

14) i18n 它提供国际化和本地化支持。

15) jsonValidation 它提供异步验证支持。

16) logger 它输出操作名称。

17) store 它存储和检索实现 ValidationAware 接口的操作的消息、操作错误或字段错误。

18) modelDriven 它将其他模型对象作为值堆栈的默认对象。

19) scopedModelDriven 它类似于 ModelDriven,但适用于实现 ScopedModelDriven 的操作。

20) params 它使用请求参数填充操作属性。

21) actionMappingParams

22) prepare 如果操作实现 Preparable 接口,它将执行准备逻辑。

23) profiling 它支持操作分析。

24) roles 它支持基于角色的操作。

25) scope 它用于将操作状态存储在会话或应用程序范围内。

26) servletConfig 它提供对表示 HttpServletRequest 和 HttpServletResponse 的映射的访问。

27) sessionAutowiring

28) staticParams 它将静态属性映射到操作属性。

29) timer 它输出执行操作所需的时间。

30) token 它防止重复提交请求。

31) tokenSession 它防止重复提交请求。

32) validation 它提供输入验证支持。

33) workflow 如果操作类实现 Validateable 接口,则调用操作类的验证方法。

34) annotationWorkflow

35) multiselect