responseXML值的问题,求助

mutou0422 2010-08-30 12:26:38
请问ajax请求servlet返回的response里可以包含一个ArrayList么,返回回来后在js里又该怎么解析取得ArrayList里的值呢?希望没有发错版。
...全文
42 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
mutou0422 2010-08-30
  • 打赏
  • 举报
回复
我现在是按xml格式返回的,返回的是从数据库里取出来的多条数据,我是存在ArrayList当中的,这样不行么。要是转换为json格式麻烦么,有没有示例让我看看,谢谢了。
孟子E章 2010-08-30
  • 打赏
  • 举报
回复
response只能是字符串,或者是二进制文件流,其他的都需要转换,比如json格式
孟子E章 2010-08-30
  • 打赏
  • 举报
回复
servlet里是什么类型无所谓的。但与客户端传输要用字符串,xml,json格式都可以。但json格式比xml 在客户端好处理。
你既然返回的是xml,客户端有xpath方法进行处理的。比如在 IE中
var doc = ajax.responseXML
nodes = doc.selectNodes("//nodeName")
hoojo 2010-08-30
  • 打赏
  • 举报
回复
[Quote=引用楼主 mutou0422 的回复:]
请问ajax请求servlet返回的response里可以包含一个ArrayList么,返回回来后在js里又该怎么解析取得ArrayList里的值呢?希望没有发错版。
[/Quote]

将你ArrayList集合中的数据循环,然后用拼接字符串的形式拼接起来。用response.getWriter().print(拼接的字符串);
servlet不要跳转
在客户端解析responseText即可

xml也一样可以拼接

public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setCharacterEncoding("GBK");
response.setContentType("text/xml");//#text/xml# 一定要这样才能正常解析
PrintWriter out = response.getWriter();

StringBuilder builder = new StringBuilder();

List<UserInfo> list = dao.loadUserInfo();
builder.append("<?xml version=\"1.0\" encoding=\"gbk\"?>")
//.append("<users totals=\"").append(obj[0]).append("\">");
.append("<users><totals>").append(obj[0]).append("</totals>");
for (int i = 0; i < list.size(); i++) {
UserInfo u = (UserInfo) list.get(i);
builder.append("<user><id>").append(u.getId())
.append("</id><name>").append(u.getName())
.append("</name><age>").append(u.getAge())
.append("</age><sex>").append(u.getSex())
.append("</sex><birthday>").append(u.getBirthday())
.append("</birthday></user>");
}
builder.append("</users>");
out.write(builder.toString());
}


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/IBM_hoojo/archive/2010/08/27/5843303.aspx

52,797

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 Ajax
社区管理员
  • Ajax
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧