AJAX+JSP实现读取XML内容并按排列显示输出的方法示例
程序员文章站
2022-11-17 08:34:23
本文实例讲述了ajax+jsp实现读取xml内容并按排列显示输出的方法。分享给大家供大家参考,具体如下:
实现功能:点击按扭,显示出jsp页面中通过out.println...
本文实例讲述了ajax+jsp实现读取xml内容并按排列显示输出的方法。分享给大家供大家参考,具体如下:
实现功能:点击按扭,显示出jsp页面中通过out.println传过来的xml信息
一、含xml的jsp页面
<%@ page language="java" import="java.util.*" pageencoding="utf-8"%> <% response.setcontenttype("text/xml"); string txt = request.getparameter("username"); out.println("<student><name>张三</name><age>21</age><sex>男</sex></student>"); %>
二、ajax处理并显示返回页面
<%@ page language="java" import="java.util.*" pageencoding="utf-8"%> <!doctype html public "-//w3c//dtd html 4.01 transitional//en"> <html> <head> <title>ajax02</title> <script type="text/javascript"> /* ajax 的几个步骤: 1、建立xmlhttprequest对象 2、设置回调函数 3、使用open方法建立与服务器的连接 4、向服务器发送数据 5、在回调函数中针对不同响应状态进行处理 */ var xmlhttp; function createxmlhttprequest(){ //1建立xmlhttprequest对象 if(window.activexobject){ try{ alert("msxml2.xmlhttp.5.0"); xmlhttp = new activexobject("msxml2.xmlhttp.5.0"); }catch(e){ try{ xmlhttp = new activexobject("microsoft.xmlhttp"); }catch(e){ alert("microsoft.xmlhttp"); } } }else{ xmlhttp = new xmlhttprequest(); } } function showmes(){ //2设置回调函数 if(xmlhttp.readystate==4){ //数据接收完成并可以使用 if(xmlhttp.status==200){ //http状态ok //5、在回调函数中针对不同响应状态进行处理 // document.getelementbyid("sp").innerhtml = xmlhttp.responsetext; //服务器的响应内容 var name = xmlhttp.responsexml.getelementsbytagname("name")[0].firstchild.nodevalue; var age = xmlhttp.responsexml.getelementsbytagname("age")[0].firstchild.nodevalue; var sex = xmlhttp.responsexml.getelementsbytagname("sex")[0].firstchild.nodevalue; document.getelementbyid("spanname").innerhtml = name; document.getelementbyid("spanage").innerhtml = age; document.getelementbyid("spansex").innerhtml = sex; }else{ alert("出错:"+xmlhttp.statustext); //http状态码对应的文本 } } } /** //这是get方法传送 function getmes(){ createxmlhttprequest(); var txt = document.getelementbyid("txt").value; var url="servlet/ajaxservlet?txt="+txt; url = encodeuri(url); //转换码后再传输 xmlhttp.open("get",url,true); //3使用open方法建立与服务器的连接 xmlhttp.onreadystatechange=showmes; xmlhttp.send(null); //4向服务器发送数据 } */ /** *这是post方法 */ function postmes(){ createxmlhttprequest(); var txt = document.getelementbyid("txt").value; // var url = "servlet/ajaxservlet"; var url = "work02forxml-2.jsp" var params = "username="+txt; xmlhttp.open("post",url,true); xmlhttp.setrequestheader("content-type","application/x-www-form-urlencoded;charset=utf-8"); xmlhttp.send(params); xmlhttp.onreadystatechange = showmes; } </script> </head> <body> <input type="text" id="txt"/> <input type="button" value="query" onclick="postmes()" /><br> <span id="sp"></span> 姓名:<span id="spanname"></span><br> 年龄:<span id="spanage"></span><br> 性别:<span id="spansex"></span> </body> </html>
ps:这里再为大家提供几款关于xml操作的在线工具供大家参考使用:
在线xml/json互相转换工具:
在线格式化xml/在线压缩xml:
xml在线压缩/格式化工具:
xml代码在线格式化美化工具:
更多关于ajax相关内容感兴趣的读者可查看本站专题:《jquery中ajax用法总结》、《javascript中ajax操作技巧总结》、《php+ajax技巧与应用小结》及《asp.net ajax技巧总结专题》
希望本文所述对大家ajax程序设计有所帮助。