`
raymond.chen
  • 浏览: 1426570 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

在Struts2中对Ajax请求的异常进行统一处理

 
阅读更多

1、自定义异常类

public class AjaxException extends RuntimeException {
	public AjaxException() {
		super();
	}

	public AjaxException(String message) {
		super(message);
	}

	public AjaxException(Throwable cause) {
		super(cause);
	}

	public AjaxException(String message, Throwable cause) {
		super(message, cause);
	}
}

 

2、新建一个用于处理异常的Action类

public class AjaxExceptionProcessorAction extends ActionSupport {
	private Exception exception;
	
	public String execute(){
		Map<String, String> resultMap = new HashMap<String, String>();
		resultMap.put(RESULT_CODE, "false");
		if(exception != null){
			resultMap.put(ERROR_MESSAGE, exception.getMessage());
		}

		res.setContentType("text/json;charset=UTF-8");
		res.setHeader("Cache-Control","no-cache");
		res.setCharacterEncoding("utf-8");
		PrintWriter out = ServletActionContext.getResponse().getWriter();
		out.write(str);
		out.close();
		return null;
	}
	
	public Exception getException() {
		return exception;
	}
	public void setException(Exception exception) {
		this.exception = exception;
	}
}

 

3、在struts.xml文件中进行以下配置

<global-results> 
	<result name="ajaxError" type="chain">
		<param name="actionName">ajaxExceptionProcessor</param>
	</result>
</global-results>

<global-exception-mappings>
	<exception-mapping result="ajaxError" exception="com.gsafc.framework.exception.AjaxException"></exception-mapping>
</global-exception-mappings>

<action name="ajaxExceptionProcessor" class="com.XXX.AjaxExceptionProcessorAction" />

 

分享到:
评论

相关推荐

    struts2ajax

    通过在struts.xml配置文件中添加特定的拦截器,可以实现对Ajax请求的统一处理。 6. **错误处理**:在Ajax请求中,正确处理错误情况同样重要。Struts2可以配置全局异常处理,当Action执行出错时,可以返回一个特定的...

    Struts 2与AJAX

    5. **强大的异常处理**:通过全局异常映射,Struts 2可以统一处理各种运行时异常,并根据需要重定向到特定的错误页面。 AJAX的核心技术包括: 1. **XMLHttpRequest对象**:AJAX的核心是XMLHttpRequest对象,它允许...

    Struts2+Ajax_模拟登陆Demo,包完整

    7. **异常处理**:在Struts2中,我们可以配置全局异常处理器,处理Action执行过程中可能出现的异常,返回统一的错误信息,保证系统的健壮性。 8. **调试与测试**:学习如何对Struts2和Ajax的组合进行调试和测试,...

    基于struts2商品管理项目

    9. **异常处理**:Struts2提供了全局异常处理机制,可以通过配置文件定义全局异常处理器,统一处理系统运行时可能出现的异常,提高系统的健壮性。 10. **测试**:项目可能包含了单元测试和集成测试,使用JUnit和...

    尚硅谷_佟刚_Struts2

    12. **错误与异常处理**:Struts2提供了统一的错误处理机制,能够优雅地处理程序中的异常情况。 尚硅谷_佟刚_Struts2.pptx这份课件可能涵盖了以上知识点的详细讲解,通过学习,开发者不仅可以了解Struts2的基本用法...

    struts2核心技术整理

    1. **Action**:在Struts2中,Action类是业务逻辑的载体,负责处理用户请求。Action类通常会实现`com.opensymphony.xwork2.Action`接口或其子接口,如`ActionSupport`,并重写`execute()`方法来执行相应的业务逻辑。...

    Struts2——教程

    在Struts2中,Model代表业务逻辑,View负责展示数据,Controller则协调Model和View之间的交互。Struts2使用ValueStack来存储和传递数据,使得数据可以在Action和JSP之间无缝流动。 四、配置与注解 Struts2支持XML...

    struts2练习完全代码

    1. **Action类和ActionMapping**:在Struts2中,Action类是业务逻辑的主要载体,它处理用户请求,并通过ActionMapping来映射URL到特定的Action。 2. **拦截器(Interceptors)**:拦截器是Struts2的一个强大特性,...

    struts2中文教程 (CHM版)

    1. **Action与Result**:在Struts2中,Action是处理用户请求的核心组件,而Result则是Action执行后的结果。开发者可以定义多种Result类型,如JSP、FreeMarker或Redirect,来控制页面跳转。 2. **拦截器...

    struts2中文教程

    4. **异常处理**:Struts2提供了全局的异常处理机制,可以统一处理程序中的异常,避免在每个Action中重复编写异常处理代码。 5. **国际化**:Struts2支持多语言环境,通过资源文件可以轻松实现界面的国际化。 6. *...

    struts2开发文档

    在Struts2中,Action类扮演控制器的角色,负责处理用户请求,调用业务逻辑,并将结果传递给视图层进行展示。 Struts2框架提供了许多特性,包括: 1. **拦截器(Interceptors)**:这是Struts2的一大特色,它允许...

    Struts2 2.3.24jar包

    1. **Action与Result**:在Struts2中,Action是业务逻辑的载体,负责处理用户的请求。每个Action都可以关联一个或多个Result,Result定义了请求处理后的响应方式,如转发到某个JSP页面或返回JSON数据。 2. **拦截器...

    Struts2的Java专题学习网

    2. **Action类与结果映射**:在Struts2中,业务逻辑通常由Action类处理,每个Action对应一个用户请求。通过配置struts.xml,你可以定义Action的执行结果,比如跳转到哪个JSP页面或返回JSON数据。 3. **OGNL(Object...

    struts2 JAR包合集.zip

    7. **异常处理**:Struts2提供了全局的异常处理机制,可以统一处理程序中的异常,避免了在每个Action中单独处理异常的繁琐。 8. **国际化与本地化**:Struts2支持多语言环境,通过资源文件可以实现内容的国际化和...

    struts2-2.2.1-all 版本

    8. **异常处理**:通过全局异常映射,Struts2可以统一处理应用程序中的异常,提供一致的错误页面。 9. **国际化支持**:Struts2提供了方便的国际化功能,通过资源包(Properties文件)可以轻松实现多语言环境。 10...

    java Struts2中文学习文档

    Struts2提供了全局异常处理机制,通过配置全局结果类型(global result),可以统一处理未捕获的异常。 八、Struts2的插件与扩展 Struts2社区提供了丰富的插件,如Struts2 DOJO插件支持AJAX,Struts2 JSON插件用于...

    struts2实战.pdf 中文完整版

    4. **异常处理**:通过配置,Struts2可以捕获和处理各种运行时异常,提供统一的错误页面和提示信息。 5. **AJAX支持**:Struts2提供了内置的AJAX支持,使得异步更新页面变得更加简单。 6. **RESTful风格的支持**:...

    深入浅出Struts2源码-例子程序(完整版)

    1. **Action与拦截器**:在Struts2中,Action是业务逻辑的载体,而拦截器则实现了对Action调用的预处理和后处理,如登录验证、日志记录等。通过自定义拦截器,开发者可以扩展框架功能。 2. **配置机制**:Struts2的...

    struts2.3.4源代码

    8. **OGNL (Object-Graph Navigation Language)**: 是Struts2中的默认表达式语言,用于访问和修改对象属性,以及在视图层动态生成内容。 9. **Struts标签库**: 提供了一系列的JSP标签,简化了视图层的开发,如, 等...

Global site tag (gtag.js) - Google Analytics