Ajax实践

来源:互联网 发布:文字字数统计软件 编辑:程序博客网 时间:2024/04/28 11:29

1,从ibatis返回xml文档 

<select id="queryAllUser" resultClass="xml" xmlResultName="USER">
        
select umid as id, 
                   name, 
                   gender, 
                   age 
           
from ajax_user
</select>

2,controller中指定response编码    经过23两步就可以解决中文的乱码问题了,如果统一用UTF-8编码格式,只需在2步中

 response.setContentType("text/xml;charset=GBK");

3,controller中指定xml文档编码

users = users.replaceAll("UTF-8""GBK");

 

    response.setContentType("text/xml;charset=UTF-8");

    就可以了,先初步总结为xml文档的编码格式和response的字符集要统一。

4,return null

不要指定ModelAndView,这通常是个页面,指定为null后,可以直接使用response写你要返回的xml文档内容

5,页面解析xml文档

 

function filUserList(xmldoc) {
  
// alert(xmldoc.getElementsByTagName("date")[0].childNodes[0].nodeValue);
  var userArray = xmldoc.getElementsByTagName("USER");
  
var userArrayLen = userArray.length;        
  
var insertData = '<table border=1><tr><th>用户ID</th><th>用户名</th><th>性别</th><th>年龄</th></tr>';
   
  
for (var i=0; i<userArrayLen; i++){
    insertData 
+= '<tr><td>' + userArray[i].getElementsByTagName("ID")[0].firstChild.data + '</td><td>' 
        
+ userArray[i].getElementsByTagName("NAME")[0].firstChild.data + '</td><td>' 
        
+ userArray[i].getElementsByTagName("GENDER")[0].firstChild.data + 
        
'</td><td>' + userArray[i].getElementsByTagName("AGE")[0].firstChild.data + '</td></tr>';
  }

  insertData 
+= '</table>';
  document.getElementById(
"users").innerHTML = insertData;        
}

xml文档示例:

<?xml version="1.0" encoding="GBK"?><USER><ID>Max</ID><NAME>Eric</NAME><GENDER>M</GENDER><AGE type="Gregorian">24</AGE></USER>

 

常用的方法示例:
·getElementsByTagName
    userArray xmldoc.getElementsByTagName("USER"),返回数组
·firstChild.data
    等同于childNodes[0].nodeValue,后者通用性更好一些
   userArray[0]. firstChild.data = ric
·tagName
    userArray[0].tagName = AGE
·getAttribute
    userArray[0].getElementsByTagName("AGE"). GetAttribute("type") = Gregorian

 

相关网页:
http://www.blueidea.com/tech/program/2006/3214_2.asp
http://forum.springframework.org/showthread.php?t=25933
http://java.sun.com/developer/technicalArticles/J2EE/AJAX/
原创粉丝点击