在jsp页面js脚本中
<script type="text/javascript">
window.onload = function validate(obj){
var xmlhttp;
if(window.XMLHttpRequest){
xmlhttp=new XMLHttpRequest();
}else{
xmlhttp=new ActiveObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function(){
if (xmlhttp.readyState==4 && xmlhttp.status==200){
var value =xmlhttp.responseText;
var obj = eval ("(" + value + ")");
//var json = JSON.parse(value);
alert(obj.person[0].name);
//在这里遍历输出返回来的信息即可
}
}
var url ="fan/servlet/demo?name="+obj;
xmlhttp.open("POST",url,true);
xmlhttp.send();
}
</script>
var url ="fan/servlet/demo?name="+obj;
xmlhttp.open("POST",url,true);
xmlhttp.send();
这三行代码请求servlet
请求成功后就会返回servlet返回接送数据给jsp页面
xmlhttp.onreadystatechange=function(){
if (xmlhttp.readyState==4 && xmlhttp.status==200){
var value =xmlhttp.responseText;
var obj = eval ("(" + value + ")");
//var json = JSON.parse(value);
alert(obj.person[0].name);
//在这里遍历输出返回来的信息即可
}
}
servlet代码
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
// TODO Auto-generated method stub
resp.setContentType("text/xml");
resp.setCharacterEncoding("utf-8");
resp.setHeader("Cache-Control", "no-cache");
try{
Person p =new Person();
p.setName("小宝");
p.setAge(3);
p.setSex("男");
List<Person> list =new ArrayList<Person>();
list.add(p);
try{
JSONArray json =JSONArray.fromObject(list);
JSONObject jb =new JSONObject();
jb.put("person", json);
System.out.println(jb.toString());
resp.getWriter().write(jb.toString());
}catch(IOException e){
e.printStackTrace();
}
}catch(Exception e){
e.printStackTrace();
}
}
jsonarray对象添加pojo类对象集合
然后在将集合传给jsonobject对象 建立键值对person jsonobject
resp.getWriter().write(jb.toString());将数据返回给请求页面
在请求页面中
js代码中获取数据 根据数据的json格式获取
var value =xmlhttp.responseText;
var obj = eval ("(" + value + ")");
//var json = JSON.parse(value);
alert(obj.person[0].name);
obj 解析了json数据
obj.person 获取是person建的 jsonarray对象
person[0]获取list集合中第一个 建立person pojo类的数据
person[0].name 是person pojo类的一个属性