论坛首页 Web前端技术论坛

请问谁能给出一个用Servlet响应xmlhttp请求的实例

浏览 8589 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2004-07-24  
请问谁能给出一个用Servlet响应xmlhttp请求的实例,包括servlet从请求中获取参数,利用参数构造DOM, 在请求页面中获取servlet的响应,并从响应中解析出DOM。这个机制的原理我知道,可是没有什么代码参考,一时难以实现,这里似乎有不少人都用过这个,有哪位高手愿意演示一下代码。
Your contribution will be highly appreciated!
   发表时间:2004-07-24  
俺这几天也在狂找,帮你喊一下
0 请登录后投票
   发表时间:2004-07-24  
我在MSDN和CSDN上都没找到相关内容的完整例子,连一篇写得比较好的文章都没有。
0 请登录后投票
   发表时间:2004-07-24  
以前有人放出过的link:

http://quake.3322.org/confluence/download/attachments/93/xloadtree.war?version=1
0 请登录后投票
   发表时间:2004-07-24  
使用xmlhttp直接用dom4j进行解析,我的框架上有演示
代码片断如下:
/////////////////////////////
// XML Http Function      //
////////////////////////////
function postXmlDocument(sUri, xmlDoc); {
   var xmlHttp = XmlHttp.create();;
   var async = true;
   xmlHttp.open("POST", sUri, async);;
   xmlHttp.setRequestHeader("Content-Type","text/xml");;
   xmlHttp.setRequestHeader("charset","UTF-8");;
   xmlHttp.onreadystatechange = function (); {
      if (xmlHttp.readyState == 4);
         postHandleCallback(xmlHttp.responseText);; // responseXML : XmlDocument
   }
   xmlHttp.send(xmlDoc);;
}
Servlet端代码,只需要把xml流读进来,然后直接进行解析处理就可以了

  SAXReader xmlReader = new SAXReader();;
  InputStream in = ServletActionContext.getRequest();.getInputStream();;
  document = xmlReader.read(in);;

下面是对xml文档的遍历

for (Iterator i = root.elementIterator(modelName);; i.hasNext();;); {
    Element element = (Element); i.next();;
    Object entityIns = instanceModel(modelName);;
    Iterator subnodes = element.elementIterator();;
    while (subnodes.hasNext();); {
     Element subnode = (Element); subnodes.next();;
     dynamicPopulate(subnode.getName();, subnode.getText();, entityIns);;
    }

}
0 请登录后投票
   发表时间:2004-07-24  
非常感谢两位的帮助,我已调试通了。其实我就是要做xloadtree的例子,ReadOnly网友给的例子正好解决了我的问题,我注意到例子里的代码是Quake Wang写的,andiyang网友给的代码也非常好,非常具体。
能得到你们的帮助我真的非常感谢。
0 请登录后投票
   发表时间:2004-07-25  
坏了,又出事了,xloadtree例子中的中文搞不定了,页面上显示的中文都是???,换了字符集后load xml文件时就出错,请问谁知道怎么解决。
++++++++++++++++++++++++++++++++++++++++++++

等不及回答,自已搞定了,贴出来,也许有人也遇到过这样的困惑
在servlet中有两处要设置,如下面红字所示:


outSB.append("<?xml version=\"1.0\" encoding=\"gb2312\" ?>");
outSB.append("<tree>");
outSB.append("<tree text=\"Loaded Item ").append(id).append("\"/>");
outSB.append("<tree text=\"Sub 汉字 A\" src=\"tree.xml?id=").append(id+1).append("\"/>");
outSB.append("<tree text=\"Sub Items B\" src=\"tree.xml?id=").append(id+2).append("\"/>");
outSB.append("</tree>");

response.setContentType("text/xml;charset=gb2312");
0 请登录后投票
   发表时间:2004-07-26  
Readonly 写道
以前有人放出过的link:

http://quake.3322.org/confluence/download/attachments/93/xloadtree.war?version=1


看了一下,没仔细研究,感兴趣的只是那些js,问的问题没有解答
0 请登录后投票
   发表时间:2004-07-26  
以前的贴子,dlee有说过这个问题的解决办法。
0 请登录后投票
论坛首页 Web前端技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics