Struts2拦截器返回json格式(通过拦截器和jsp来返回)

原创!转载请注明地址 http://ycde2009.iteye.com/blog/1990758
    如果在拦截其中想返回json格式的字符串,我们可以通过抛出一个自定义的异常GetJsonException,把需要转成Json格式的对象,放入到该异常中,再到自定义的异常拦截器拦截中拦截下来,再到GetJsonException中获取需要转换的对象,最后在request中设置一个属性“OPERATION_RESULT_KEY”和对应的值,再在该异常拦截器中返回一个标志,如errorJson,再到struts.xml中设置该标志的跳转,跳转的目标就是一个errorJson.jsp文件,在该jsp文件中输出放入对象的json格式。切记,在配置拦截器栈的时候,异常拦截器要处于你抛出异常的拦截器的前面。
   
<%@ page language="java" contentType="textml; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<%
	String jsonString = ((com.fuzik.sirui.framework.business.BusinessResult)request.getAttribute("OPERATION_RESULT_KEY")).getJsonString();
 %>
 <%=jsonString %>

<global-results>	
	<result name="errorJson">
		/View/common/errorJson.jsp
	 </result>
</global-results>

    还可以通过Action类来返回请看本文的上一篇文章 http://ycde2009.iteye.com/blog/1870845

你可能感兴趣的:(javaee,struts2拦截器)