问题描述
就是 ajax 提交服务器的请求 然后 服务器返回的数据 用 json 嘛 就是 通过JSONArray 把List或者javabean转成 json格式,在 通过 PrintWrite输出嘛, 如果我要输出的是两个不同的对象,一个是List集合转换过来的,另外一个还要输出一个javabean,用于分页的,但是这些输出后最后在ajax那里 var data = xmlRequest.responseText 它就全部组合成一个字符串了,怎么给它分开呢。我是在做一个书籍的留言评论,然后 我的要求是 留言翻页的时候我通过ajax来提交的,去数据库查到数据List集合后通过JSONArray专JSON格式,但是我还在界面显示还需要一个分页的 javabean需要传到页面上去,请问我用ajax这个时候该怎么提取数据?还在在servlet上该如何发送数据。因为一个是 发送list转成的json 另外一个是 分页javabean转成的json.............求各位大神讲解 问题补充:283433775 写道
解决方案
public class DataModel{ public String id = null; public String name = null; public String content = null;}public class PageBean {public int rownumber = 0;public int pagecount = 0;public int pageindex = 0;}/** *如你既要List<DataModel>又要 PageBean 那么你得这么返回 * 定义一个新类 */ public class JsonBean { public List<DataModel> datas; public PageBean page; } //生成的json传格式是 { page:{ rownumber:1,pagecount:1,pageindex:1 }, datas:[ {id:"",name:"",content:""}, {id:"",name:"",content:""}, {id:"",name:"",content:""} ] } //然后在前台,你使用 var strData = xmlRequest.responseText; if(typeof strData !== "object")strData = eval('('+strData+')');//然后,数据信息通过var dataArray = strData.datas;//分页信息对象var pageObj = strData.page;//想要获取page中的值var pageindex = pageObj.pageindex;//....其他的就不多描述
解决方案二:
使用jsonobject转
解决方案三:
JSONObject jsonObject = new JSONObject();jsonObject.element("list", list);JSONObject beanObject = (JSONObject) JSONSerializer.toJSON(javabean);jsonObject.element("javaBean", beanObject);
解决方案四:
能不能把javabean也直接放到JSON对象里,然后ajax获取之后,顺便用js更新下分页的页码之类的,这种思路成不