`

JSON和JAVA之间的转换(struts Ajax)

阅读更多
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,它基于JavaScript的一个子集,常常配合ajax使用,利用ajax来加载数据.
    json结束ajax的配置步骤:
    1.导包.使用json需要jar包的支持,使用前就先导入以下jar包:commons-beanutils-1.8.0.jar、commons-collections-3.2.1.jar(曾经因为没导入这个包而浪费了我一个上午的时间来检查错误,汗)、commons-lang-2.4.jar、commons-logging-1.1.jar、ezmorph-1.0.6.jar、json-lib-2.3-jdk15.jar、jsonplugin-0.32.jar;
    2.添加JsonResultType类.
    3.配置struts.xml配置文件.在没用使用json的情况下,struts.xml配置文件中的package继承的是"struts-default"即:extens="struts-default",但使用json时继承的就不再是struts-default,而是"json-default",打开jsonplugin-0.32.jar下的struts-plugin.xml文件可以看到,其package已经继承了"struts-default".在package中加入以下代码,
<result-types>
    <result-type name="json"
     class="JsonResultType所在的包">
    </result-type>
</result-types>
并在相应的Action中做以下配置,
<action name="jsonAction" class="action所在的包">
    <result name="json" type="json">
     <param name="name">json</param>
    </result>
</action>
   4.写action代码,(下面的代码注释可能不太准备,如有错误,请指出)
   private String json;//需要get/set方法
   //获得城市集合不一定一定是集合
   List list = this.service.method();
 
   //过滤不需要转换的属性
   JsonConfig con = new JsonConfig();
   con.setExcludes(new String[]{"过滤的属性"});
 
   //将list转换成JSONArray
   JSONArray array = new JSONArray();
   
   //把array转换成String
   this.json=array.toString();
 
   //是struts.xml中的action的name
    return "json";
   5.javascript调用,
   <script type="text/javascript">
       function method(){
       //请求的Action
       var url = "jsonInfo/jsonAction!showCity.action";
       //ajax调用
       var ajax = new Ajax.Request(url,{
         method:'post',
         onComplete: function(data){
            //这里获得的city是一个字符串,根据需要做相应的转换
            var city = JSON.parse(data.responseText);
          }
       });
    }
   </script>
分享到:
评论

相关推荐

    ajax调用java传送json的小例子

    主要是用到jquery的ajax,java中的hibernate4的调用mysql数据和struts2地址重定向,并把数据转换成json数据,经过html页面中的javascript调用后台数据,有添加,修改,删除,查询等简单功能,适用于有ajax初学者,...

    json.rar_Java 8_ajax json jar_json jar

    J2EE开发时,ajax通信使用Json格式,json.jar是将服务器端内容打包成所需的json格式的工具包;另一个struts2-json-plugin-2.1.8.1.jar是struts框架下直接将json数据转换为JavaScript内容的工具

    JAVA上百实例源码以及开源项目

     Java绘制图片火焰效果,源代码相关注释:前景和背景Image对象、Applet和绘制火焰的效果的Image对象、Applet和绘制火焰的效果的Graphics对象、火焰效果的线程、Applet的高度,图片到图片装载器、绘制火焰效果的X坐标...

    Struts2 in action中文版

    5.4.2 在String和Circle之间转换 102 5.4.3 配置框架使用自定义转换器 103 5.5 小结 106 第三部分 构建视图——标签和结果 第6章 构建视图——标签 108 6.1 入门 108 6.1.1 ActionContext和OGNL 109 6.1.2 虚拟对象...

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

    struts和Ajax: (例子一) 载入了json包; strutsandajax包; 可以直接运行jsonplugsm.action,出现下载的, 可以加入 JsonPlugin.html LinkButton.jsp AutoComplate.jsp Tree.jsp (例子二) example2包 Treeone.jsp Ajax...

    JAVA上百实例源码以及开源项目源代码

     Java绘制图片火焰效果,源代码相关注释:前景和背景Image对象、Applet和绘制火焰的效果的Image对象、Applet和绘制火焰的效果的Graphics对象、火焰效果的线程、Applet的高度,图片到图片装载器、绘制火焰效果的X坐标...

    java开源包4

    Pinyin4j是一个流行的Java库,支持中文字符和拼音之间的转换。拼音输出格式可以定制。 异步HTTP客户端开发包 HttpAsyncClient HttpAsyncClient 是一个异步的 HTTP 客户端开发包,基于 HttpCore NIO 和 HttpClient ...

    java开源包101

    Pinyin4j是一个流行的Java库,支持中文字符和拼音之间的转换。拼音输出格式可以定制。 异步HTTP客户端开发包 HttpAsyncClient HttpAsyncClient 是一个异步的 HTTP 客户端开发包,基于 HttpCore NIO 和 HttpClient ...

    java开源包11

    Pinyin4j是一个流行的Java库,支持中文字符和拼音之间的转换。拼音输出格式可以定制。 异步HTTP客户端开发包 HttpAsyncClient HttpAsyncClient 是一个异步的 HTTP 客户端开发包,基于 HttpCore NIO 和 HttpClient ...

    java开源包6

    Pinyin4j是一个流行的Java库,支持中文字符和拼音之间的转换。拼音输出格式可以定制。 异步HTTP客户端开发包 HttpAsyncClient HttpAsyncClient 是一个异步的 HTTP 客户端开发包,基于 HttpCore NIO 和 HttpClient ...

    java开源包9

    Pinyin4j是一个流行的Java库,支持中文字符和拼音之间的转换。拼音输出格式可以定制。 异步HTTP客户端开发包 HttpAsyncClient HttpAsyncClient 是一个异步的 HTTP 客户端开发包,基于 HttpCore NIO 和 HttpClient ...

    java开源包8

    Pinyin4j是一个流行的Java库,支持中文字符和拼音之间的转换。拼音输出格式可以定制。 异步HTTP客户端开发包 HttpAsyncClient HttpAsyncClient 是一个异步的 HTTP 客户端开发包,基于 HttpCore NIO 和 HttpClient ...

    java开源包5

    Pinyin4j是一个流行的Java库,支持中文字符和拼音之间的转换。拼音输出格式可以定制。 异步HTTP客户端开发包 HttpAsyncClient HttpAsyncClient 是一个异步的 HTTP 客户端开发包,基于 HttpCore NIO 和 HttpClient ...

    java开源包10

    Pinyin4j是一个流行的Java库,支持中文字符和拼音之间的转换。拼音输出格式可以定制。 异步HTTP客户端开发包 HttpAsyncClient HttpAsyncClient 是一个异步的 HTTP 客户端开发包,基于 HttpCore NIO 和 HttpClient ...

    jQuery ajax请求struts action实现异步刷新

    这个样例是用JQuery ajax和struts来做的一个小样例,在这个样例中采用两种方式将java Util中的list转换成支json的格式,第一种是用json-lib.jar这个jar包来转换,第二种是采用goole的gson-2.1.jar来转换,大家可以...

    java开源包1

    Pinyin4j是一个流行的Java库,支持中文字符和拼音之间的转换。拼音输出格式可以定制。 异步HTTP客户端开发包 HttpAsyncClient HttpAsyncClient 是一个异步的 HTTP 客户端开发包,基于 HttpCore NIO 和 HttpClient ...

    java开源包3

    Pinyin4j是一个流行的Java库,支持中文字符和拼音之间的转换。拼音输出格式可以定制。 异步HTTP客户端开发包 HttpAsyncClient HttpAsyncClient 是一个异步的 HTTP 客户端开发包,基于 HttpCore NIO 和 HttpClient ...

    java开源包2

    Pinyin4j是一个流行的Java库,支持中文字符和拼音之间的转换。拼音输出格式可以定制。 异步HTTP客户端开发包 HttpAsyncClient HttpAsyncClient 是一个异步的 HTTP 客户端开发包,基于 HttpCore NIO 和 HttpClient ...

    java开源包7

    Pinyin4j是一个流行的Java库,支持中文字符和拼音之间的转换。拼音输出格式可以定制。 异步HTTP客户端开发包 HttpAsyncClient HttpAsyncClient 是一个异步的 HTTP 客户端开发包,基于 HttpCore NIO 和 HttpClient ...

    Java资源包01

    Pinyin4j是一个流行的Java库,支持中文字符和拼音之间的转换。拼音输出格式可以定制。 异步HTTP客户端开发包 HttpAsyncClient HttpAsyncClient 是一个异步的 HTTP 客户端开发包,基于 HttpCore NIO 和 HttpClient ...

Global site tag (gtag.js) - Google Analytics