(Struts2)在将Global Exception Redirect到一个Action后,如何在Action中获取该Exception5
我们知道在struts.xml中增加global-exceptions配置可以将未捕捉的异常指向一个result,且该result可显示一个jsp页面,在jsp页面中用<s:property value="exception.name"/>等可以显示该异常消息。
但是因为我希望在显示异常前做一些额外处理,比如发送Email通知维护人员。所以我将result redirect到一个Action中,但是如何在该Action中获得捕捉到的异常?
我使用了:
1. ActionContext.getContext().getValueStack().findValue("exception");
2. ActionContext.getContext().getParameters.get("exception");
3. ActionContext.getContext().get.....
等等方法都无法获得该Exception.
用chain 类型的action,chain类型可以把栈中的值也传递过去。
这样能够把发生的异常传递到你指定的类,在做处理。
分享到:
相关推荐
在本篇文章中,我们将深入探讨Struts2中的Action及其相关知识点。 Action是Struts2框架中处理用户请求的核心实体,它是业务逻辑与视图层之间的桥梁。一个Action类通常对应一个特定的用户操作或者业务场景。Action类...
7. **异常处理**:Struts2提供了一种全局的异常处理机制,通过`<global-exception-mappings>`和`<global-results>`配置,可以统一处理Action执行过程中的异常,并定义异常发生后的跳转页面。 8. **国际化...
5. **Value Stack**:值栈是Struts2的一个重要概念,它是一个对象容器,存储Action实例和需要传递到视图的数据。视图可以直接通过OGNL(Object-Graph Navigation Language)表达式访问值栈中的对象。 二、OGNL...
4. **拦截器(Interceptors)**:拦截器是Struts2的一个强大特性,它允许在Action执行前后插入自定义逻辑。常见的拦截器有:Params拦截器(处理参数绑定),Validation拦截器(进行字段验证),Stack拦截器(包含一...
你可以定义一个全局的结果类型(如`global-exception`),并指定该结果类型对应的结果页面,这样任何未处理的异常都会被导向这个页面。 3. **Action级别的异常处理** 除了全局处理,也可以在每个Action类中定义...
5. **拦截器(Interceptor)**:拦截器是Struts2的一个强大特性,可以插入到Action调用的流程中,执行预处理或后处理操作。比如,`params`拦截器负责解析请求参数,`validation`拦截器负责执行校验,`exception`拦截...
Struts2是一个非常流行的Java Web框架,用于构建和维护可扩展且易于管理的企业级应用程序。在Struts2中,异常处理是一项重要的功能,它确保在应用程序遇到错误时能够优雅地处理,提供友好的用户反馈,并保持系统稳定...
Struts2是一个强大的MVC(模型-视图-控制器)框架,它在Java Web开发中广泛应用,极大地简化了创建交互式、数据驱动的Web应用程序的过程。这个“struts2标准jar包集”包含了运行和集成Struts2框架所需的核心库和其他...
Struts2是一个强大的Java web应用程序框架,主要用于构建和维护MVC(模型-视图-控制器)架构的应用程序。这个“Struts2小白练手项目”是专为初学者设计的,旨在帮助他们理解和掌握Struts2的核心概念和实践操作。 在...
Struts2是一个强大的Java web应用程序框架,用于构建和维护可扩展、模块化和高度灵活的Web应用程序。它的API是开发者实现MVC(Model-View-Controller)架构的关键工具集,提供了丰富的功能,使得开发人员能够更高效...
5. **拦截器(Interceptor)**:拦截器是Struts2的一个重要概念,它们按照预定义的顺序在Action执行前后进行干预,实现如日志记录、权限验证、异常处理等功能。常用的拦截器有params(处理参数)、i18n(国际化)、...
Struts2是一个基于MVC设计模式的Java web框架,它极大地简化了开发过程,并提供了强大的控制层。在Struts2中,`struts.xml`文件是核心配置文件,用于定义应用的行为、动作映射、结果类型、拦截器等。这篇博文主要...
- Struts2支持多种结果类型,如`dispatcher`(用于转发到JSP页面)、`redirect`(重定向到另一个URL)。 - 结果配置可以在Action配置中进行,也可以在Action类内部定义。 5. **OGNL(Object-Graph Navigation ...
- **Action**:Struts2中的Action类代表一个业务操作,处理用户的请求并返回结果。 2. **配置与启动** - **struts.xml**:Struts2的核心配置文件,用于定义Action、结果类型、拦截器等。 - **web.xml**:在...
在Struts2框架中,`result`是一个非常重要的概念,它主要用于定义Action执行完成后页面的跳转规则。本文将深入探讨Struts2配置文件中`result`的配置方法及其不同的类型,并通过具体的代码示例来帮助读者更好地理解和...
5. **插件机制**:Struts2有一个强大的插件系统,允许开发者扩展框架功能,例如Struts2-dojo-plugin提供富客户端功能,Struts2-convention-plugin简化了配置,自动将类映射为Action。 6. **Tiles框架集成**:Struts...
5. **拦截器**:拦截器是Struts2的一个强大特性,可以实现如日志记录、权限检查、事务控制等功能。理解如何定义和使用自定义拦截器,以及预定义的拦截器链,是提升应用功能和性能的关键。 6. **异常处理**:Struts2...
3. **interceptors**:拦截器是Struts2的一个重要特性,它们可以插入到Action调用链中,执行预处理或后处理任务。例如,我们可能需要添加一个`logger`拦截器来记录每个请求的信息。 4. **result**:result元素定义...
- **拦截器(Interceptor)**:在Struts2框架中,拦截器是一种可以被用来执行预处理和后处理操作的对象。它们可以在Action执行前后进行拦截,并执行相应的逻辑处理。 - **用户登录验证**:在用户尝试访问某些受保护...
可以通过`<global-exception-mappings>`标签定义全局异常处理,以及在Action中使用`@ExceptionHandler`注解处理特定异常。 综上所述,Struts2配置涉及多个方面,包括Action、拦截器、结果类型、常量、注解和异常...