`
拖拖鞋
  • 浏览: 90598 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

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
分享到:
评论
2 楼 拖拖鞋 2015-05-19  
你那个方法也可以,但是我说的就是没有用插件 struts2-json-plugin 的情况!
1 楼 h573980998 2015-05-07  
绕远路差评 ,明明拦截器里写
actionContext.put("result", result);
return "error";

<result name="error" type="json">
<param name="root">result</param>
</result>
就可以直接返回json还什么jsp啊
(struts2-json-plugin)

相关推荐

    Struts2 in action中文版

    4.3 研究内建的Struts 2拦截器 67 4.3.1 工具拦截器 67 4.3.2 数据转移拦截器 67 4.3.3 工作流拦截器 69 4.3.4 其他拦截器 72 4.3.5 内建的拦截器栈 73 4.4 声明拦截器 74 4.4.1 声明独立的拦截器和拦截器栈 74 ...

    struts项目学习笔记

    由传统Struts1和WebWork两个经典框架发展而来 Struts2框架=Struts2+XWork Strust2 核心功能 允许POJO(Plain Old Java Objects,简单javabean对象,没有继承,没有实现,getter,setter方法)对象 作为Action,没有耦合 ...

    struts自我学习过程程序以及说明

    拦截器: interceptor包; Timer.jsp Login.jsp ShowUser.jsp IoC反转控制: spring.ioc包; (有问题.............待解决.........) struts和Ajax: (例子一) 载入了json包; strutsandajax包; 可以直接运行jsonplugsm....

    UeditorModel-SSH-方案2.rar

    Struts2的默认拦截器可以起作用, 想了解更多访问https://blog.csdn.net/qq_39905143 使用方案2来解决百度编译器的端口进行过滤 这个方案是非常完美的方案,但由于配置复杂,所以上传了模板包 config.json报错...

    低清版 大型门户网站是这样炼成的.pdf

    2.6.2 定义和使用拦截器栈 97 2.6.3 使用自定义拦截器 98 2.7 小结 100 第3章 struts 2标签库详解与ajax技术应用 103 3.1 struts 2主题与模板 103 3.2 struts 2控制标签详解 105 3.2.1 if/elseif/else标签详解...

    达内Java培训项目(当当网/通用电子商务系统)

    使用拦截器机制来限制未登录用户对购买、结算等Action的访问,保证了系统的健壮性。 对分页进行了组建化封装,提高了系统的通用性。 层与层之间采用接口连接,面向接口编程使得系统结构良好。 经验总结: 通过该...

    Java面试宝典2020修订版V1.0.1.doc

    拦截器和过滤器的区别? 91 11、struts.xml中result的type有哪些类型? 91 12、什么时候用JDBC什么时候用Hibernete; 91 13、hibernate 数据的三个状态 91 14、Hibernate中load和get的区别? 92 15、Hibernate的工作...

    java后台框架源码

    action:存放struts2控制类的包 dao:数据库访问封装 enm:系统中使用到的常量包,这里不是用的常量,用的是枚举替代常量 entity:hibernate对应的orm与数据库表一一对应的实体类 filter:Log4jFormatFilter(格式化...

    Java学习笔记-个人整理的

    \contentsline {chapter}{Contents}{2}{section*.1} {1}Java基础}{17}{chapter.1} {1.1}基本语法}{17}{section.1.1} {1.2}数字表达方式}{17}{section.1.2} {1.3}补码}{19}{section.1.3} {1.3.1}总结}{23}{...

    spring security 参考手册中文版

    25.1 AOP联盟(MethodInvocation)安全拦截器 197 25.1.1显式MethodSecurityInterceptor配置 197 25.2 AspectJ(JoinPoint)安全拦截器 198 26.基于表达式的访问控制 200 26.1概述 200 26.1.1通用内置表达式 201 ...

Global site tag (gtag.js) - Google Analytics