下面是jsp页面的代码<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
   
    <title>My JSP 'showword.jsp' starting page</title>
    <script type="text/javascript">
    /* 标准AJAX模板 */
//使用 false 作为判定条件,它表示还没有创建 XMLHttpRequest 对象
var http_request=false;
//创建XMLHttpRequest对象方法
function send_request(){
http_request=false;
//火狐
if(window.XMLHttpRequest){
http_request=new XMLHttpRequest();
if(http_request.overrideMimeType){
http_request.overrideMimeType('text/xml');
}
}else if(window.ActiveXObject){//IE
try{
http_request=new ActiveXObject("Msxml2.XMLHTTP");
}catch(e){
try{
http_request=new ActiveXObject("Microsoft.XMLHTTP");
}catch(e2){}
}
}

if(!http_request){//检查 request 是否仍然为 false(如果一切顺利就不会是 false)
window.alert("Err Create XMLHttpRequest!");
}
 
} //
function requestText(url)
{         send_request();
         http_request.onreadystatechange=resXml;
         http_request.open("get",url,true);
         http_request.send(null);
    }
    function resXml()
    {
          if(http_request.readyState==4)
          {
             if(http_request.status==200)
             {
               //生成DOM对象
                 var result=http_request.responseXML;
                 //alert(result.nodeName);
                 //获取word节点
                 var words=result.getElementsByTagName("word");
                 //获取Ul
                 var word_ul=document.getElementById("word_ul");
                 var word_str=document.getElementById("str");
                 //清空原来的li;
                 clearUl();
                   for(var i=0;i<words.length;i++)
                 {
                   // alert(words[i].text);
                   var word_li=document.createElement("li");
                   //动态邦定点击事件
                   word_li.onclick=function(){
                       //this代表当前点击的li对象
                    word_str.value=this.firstChild.nodeValue;
                    
                    };
                   var li_tex=document.createTextNode(words[i].text);
                   word_li.appendChild(li_tex);
                   //添加到Ul
                   word_ul.appendChild(word_li);
                   
                 }
                 
                
             }
           }
    }
    //
    function test()
    {
       var str=document.getElementById("str").value;
       var url="showWordServlet?str="+str;
       if(str.length==0)
       {
           clearUl();
       }
       else
       {
        requestText(url);
       }
           }    function clearUl()
    {
        //获取根节点Ul
        var word_ul=document.getElementById("word_ul");
        //获取ul的子点
        var word_li=word_ul.childNodes;
        for(var i=word_li.length-1;i>=0;i--)
        {
         word_ul.removeChild(word_li[i]);
         }    }
    </script>
  </head>
  
  <body>
   <input type="text" id="str" onkeyup="test();">
   <div>
     <ul id="word_ul" style="cursor:hand">
     </ul>
   </div>
  </body>
</html>
---------------------------------------------------------------------------------------------------------------------------------
这是servlet中的代码
package com.servlet;import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;public class ShowWordServlet extends HttpServlet { /**
 * The doGet method of the servlet. <br>
 * 
 * This method is called when a form has its tag value method equals to get.
 * 
 * @param request
 *            the request send by the client to the server
 * @param response
 *            the response send by the server to the client
 * @throws ServletException
 *             if an error occurred
 * @throws IOException
 *             if an error occurred
 */
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException { this.doPost(request, response);
} /**
 * The doPost method of the servlet. <br>
 * 
 * This method is called when a form has its tag value method equals to
 * post.
 * 
 * @param request
 *            the request send by the client to the server
 * @param response
 *            the response send by the server to the client
 * @throws ServletException
 *             if an error occurred
 * @throws IOException
 *             if an error occurred
 */
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
        System.out.println("showwordServlet.....");
request.setCharacterEncoding("utf-8");
response.setContentType("text/xml;charset=utf-8");
PrintWriter out = response.getWriter();
List<String> list = new ArrayList<String>();
list.add("fdkjsfd");
list.add("jlkjfds");
list.add("jkklfdsl");
list.add("flfkjds");
list.add("fjsdlkj");
list.add("jklfdslfj");
list.add("jklfdskl");
list.add("ajldfds");
list.add("alkjfds");
list.add("jklfd");
list.add("slkfdsklfd");
String str = request.getParameter("str");
//System.out.println("str="+str);
StringBuffer bf = new StringBuffer("<words>");
for (String string : list) {
if (string.startsWith(str)) {
//System.out.println(string);
bf.append("<word>").append(string).append("</word>");
}
}
bf.append("</words>");
System.out.println(bf.toString());
out.print(bf.toString());
out.flush();
out.close();
}
}
求高手告诉我在火狐中要如何写才div的自动补全才不会出现“undefined”这个词