转自:http://blog.csdn.net/hanxuemin12345/article/details/38782213
1,Json数据格式简介
JSON是脱离语言的理想的数据交换格式,所以它被频繁的应用在客户端与服务器的通信过程中,这一点是毋庸置疑的。而在客户端与服务器的通信过程 中,JSON数据的传递又被分为服务器向客户端传送JSON数据,和客户端向服务器传送JSON数据,前者的核心过程中将对象转换成JSON,而后者的核 心是将JSON转换成对象,这是本质的区别。另外,值得一提的是,JSON数据在传递过程中,其实就是传递一个普通的符合JSON语法格式的字符串而已, 所谓的“JSON对象”是指对这个JSON字符串解析和包装后的结果
2,Struts2返回JSON数据到客户端
这是最常见的需求,在AJAX大行其道的今天,向服务器请求JSON数据已成为每一个WEB应用必备的功能。抛开Struts2暂且不提,在常规WEB应用 中由服务器返回JSON数据到客户端有两种方式:一是在Servlet中输出JSON串,二是在JSP页面中输出JSON串。上文提到,服务器像客户端返 回JSON数据,其实就是返回一个符合JSON语法规范的字符串,所以在上述两种方法中存在一个共同点,就是将需要返回的数据包装称符合JSON语法规范 的字符串后在页面中显示。
3,Struts2 Action使用传统方式返回json数据
省略。。。。。
4,Struts2 集成Json插件,配置json格式结果集,返回json数据
JSON插件是Structs 2 的Ajax插件,通过利用JSON插件,开发者可以很方便,灵活的利用Ajax进行开发。 Json是一种轻量级的数据交换格式,JSon插件提供了一种名为json的Action ResultType 。使用此结果集的好处:将转换JSON数据的工作交给Struts2来做,与Action中以传统方式输出JSON不同的是,Action只需要负责业务处理,而无需关心结果数据是如何被转换成JSON被返回客户端的——这些 工作通过简单的xml配置及jar包引用,Struts2会帮我们做的更好。
二、的实现步骤:
1,引入Struts包、Struts与Json集成的jar包;struts-plugin.xml配置文件
——
——struts-plugin.xml:配置了集成的Json插件的信息(定义了名为"json"的结果集,和名为"json"的拦截器;注:具体json类型的结果集和拦截器Struts的json插件已经实现了,我们只需在配置文件中将了实现类配置上即可);
1 <struts> 2 <package name="json-default"extends="struts-default"> 3 <result-types> 4 <!--名为"json"的结果集--> 5 <result-typenameresult-typename="json" class="org.apache.struts2.json.JSONResult"/> 6 </result-types> 7 <interceptors> 8 <!--名为"json"的拦截器--> 9 <interceptornameinterceptorname="json"class="org.apache.struts2.json.JSONInterceptor"/> 10 </interceptors> 11 </package> 12 </struts>