六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 33|回复: 0

jquey的ajax和java应用json

[复制链接]

升级  50%

5

主题

5

主题

5

主题

童生

Rank: 1

积分
25
 楼主| 发表于 2013-1-23 01:24:53 | 显示全部楼层 |阅读模式
不刷新页面的情况下,刷新页面数据异步调用(ajax)很不错,但有时候要传回一个对象json是个不错的选择
首先jsp页面ajax的调用:
$.ajax({     type: "POST",       url: "/pages/om/listFan.action",       data: "jsonReq=jsonGraphic",       dataType : "json",       error: function(data,transport){        alert("获取数据失败,请联系管理员!");       },      success: function(data){       $("#gather").html(data.gather);       $("#totalCap").html(data.totalCap);       $.each(data.fans,function(i,fan){          alert(fan.id);       });        }    });
上面这段是用jquery写的,看完下面的action的java类就明白上面的写法了
listFanAction的类的只要内容:
StringBuilder jsonTXT = new StringBuilder();
jsonTXT 这个就是我们需要返回的json串,来看看我们对他的构造
jsonTxT的最终数据格式:
{"gather":value[0],"totalCap":value[1],"fans":[{"id":value[2]},{"id":value[2]}]}
只要我们能把我们需要的数据构造成上述格式就能在页面像我们用java对象一样取数据了,
最后我们还需要用:
ServletActionContext.getResponse().setContentType("text/html;charset=utf-8");PrintWriter writer = this.getResponse().getWriter();writer.write(jsonTXT.toString());writer.flush();writer.close();return null;
这部分代码将我们构造好的json串返回到界面就可以了,注意到了没?上面js写的的data.gather就是我们拼接的"gather",而alert(fan.id);就是循环显示的内容,这个就是类似于我们java的Bean对象中的属性Bean对象一个理解意思。
上面就是我应用json的示例,有什么问题敬请指教!
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表