posts - 30,  comments - 50,  trackbacks - 0
jsp里的两个select:
<select name="lei" onchange="callServer(this.options[this.selectedIndex].text)">
<%
rs
=stmt.executeQuery("select dfl from dhyfl");
while(rs.next()){
%>
<option><%=rs.getString("dfl"%></option>
<%
}
%>
</select><select name="smallLei"></select>

jsp底部的Ajax:
<script language="javascript">
var xmlHttp
=false;
try {
   xmlHttp 
= new XMLHttpRequest();
catch (trymicrosoft) {
     
try {
       xmlHttp 
= new ActiveXObject("Msxml2.XMLHTTP");
     } 
catch (othermicrosoft) {
       
try {
         xmlHttp 
= new ActiveXObject("Microsoft.XMLHTTP");
       } 
catch (failed) {
          
       }  
     }
   }
function callServer(smallLei){
    var url
="<%=request.getContextPath()%>/smallLei?lei=" + smallLei;
    xmlHttp.open(
"get",url,"true");
    xmlHttp.onreadystatechange 
=upsmlei;
    xmlHttp.send(
null);
}
function upsmlei(){
    
if(xmlHttp.readyState == 4){
        
if(xmlHttp.status==200){
            var smlei 
= document.all.smallLei;
            smlei.options.length
=0;
            var arr
=xmlHttp.responseText.split("|");
            
for(var i=0;i<arr.length-1;i++){
                smlei.add(
new Option(arr[i],arr[i]));
            }
        }
    }
}
</script>

Ajax的servlet:
package cqrx.ajax;

import java.io.IOException;
import java.io.PrintWriter;
import java.sql.ResultSet;
import java.sql.Statement;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import cqrx.zgdsc.Conn;

public class SmallLei extends HttpServlet {

    
public SmallLei() {
        
super();
    }

    
public void destroy() {
        
super.destroy();
    }

    
public void doGet(HttpServletRequest request, HttpServletResponse response)
            
throws ServletException, IOException {

                response.setContentType(
"text/html;charset=gb2312");
        PrintWriter out 
= response.getWriter();
             String lei 
= request.getParameter("lei");
             lei 
= new String(lei.getBytes("ISO8859-1"), "GB2312");
             out.print(lei);
             Conn c 
= new Conn();
             Statement stmt 
= null;
             ResultSet rs 
= null;
             
try {
             stmt 
= c.getConn().createStatement();
             String sql 
= "select sfl from shyfl where dfl ='" + lei + "'";
             rs 
= stmt.executeQuery(sql);
             String str 
= "";
             
while (rs.next()) {
             str 
= str + rs.getString(1+ "|";
             }
             out.print(str);
            
             } 
catch (Exception e) {
             System.out.print(e.getMessage());
        } 
finally {
            out.flush();
            out.close();
        }
    }

    
public void doPost(HttpServletRequest request, HttpServletResponse response)
            
throws ServletException, IOException {
        doGet(request, response);
    }

    
public void init() throws ServletException {
    }

}
posted on 2007-07-31 16:18 心。 阅读(2697) 评论(3)  编辑  收藏 所属分类: java

只有注册用户登录后才能发表评论。


网站导航: