ajax已经是web开发的必选框架之一,而json更是在ajax通过解析xml来传输数据方面有了更好的发展,下面我就以自己做web开发的浅薄经验介绍一下js与struts
如何通过aja以json数据形式进行数据传输。why json but not xml?这个问题我想您会得到答案。
注:要使用json必须导入commons-beanutils-1.7.0.jar commons-lang-2.1.jar
ezmorph-1.0.2.jar json-lib-1.1-jdk15.jar另外commons-collentions最好用最新版本
1:既然是异步那我就用到了ajax框架,下面时jsp页面中ajax框架代码和js中解析json的方法
try
{
var xmlhttp = new XMLHttpRequest();
}
catch(e)
{
var xmlhttp = new ActiveXObject('Microsoft.XMLHTTP');
}
var url="/apple/receive.do;
xmlhttp.open('GET',url,true);
xmlhttp.onreadystatechange = function() 异步传输成功时
{
if(xmlhttp.readyState == 4 && xmlhttp.status == 200)
{
var data = eval('('+xmlhttp.responseText + ')'); //或得json数据
for(var i=0;i {
var str='’;
str+=data.js[i].chatdate;
str+=data.js[i].message";
txt=document.createElement('DIV');
txt.innerHTML=str;
document.getElementById("content").appendChild(txt);
str="";
}
}
}
xmlhttp.send();
2:下面试action中json的组织方式。(我的数据来源是通过hibernate查询得来得,对此读者可自行处理)
try
{
PrintWriter out = response.getWriter();
JSONObject obj = new JSONObject();
JSONArray js = new JSONArray();
//这里的数据拼装一般是从数据库查询来的
Iterator it = mes.iterator();
while(it.hasNext()){
Chat chat =(Chat)it.next();//数据库查询得到的结果
JSONObject objtemp = new JSONObject();
objtemp.put("chatdate",chat.getDate().substring(0,10) );
objtemp.put("message", chat.getContent());
js.add(objtemp);
}
obj.put("js",js);
out.print(obj.toString());
//out.print(rnd);
}catch(Exception e)
{
e.printStackTrace();
}
return null;
阅读(2427) | 评论(1) | 转发(0) |