可配级联无刷新下拉框(原稿)

此作品实现用ajax开发可配级联地刷新下拉框.

1.开发环境:eclipse+tomcat+mysql

2.工程名:ajax_select

3.主要涉及文件及内容: 

-----页面------------

index.jsp

------工程配置------------

web.xml  

------类文件------------

AjaxServlet.java

package com.ajax;

import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;

import javax.naming.Context;
import javax.naming.InitialContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.sql.DataSource;

public class AjaxServlet extends HttpServlet{
 private static final String CONTENT_TYPE="text/xml; charset=gb2312";
 public void doGet(HttpServletRequest request, HttpServletResponse response)throws IOException, ServletException{
     String myid = request.getParameter("id");
     String sql = "select id,pid,name,mylevel from region where pid = '"+myid+"'";
  Connection conn = null;
  try{
     ArrayList list = new ArrayList();
        Context ctx = new InitialContext();
        if(ctx == null )
            throw new Exception("No Context!");
        DataSource ds = (DataSource)ctx.lookup("java:comp/env/jdbc/ajax_select");
        if (ds != null) {
          conn = ds.getConnection();
          if(conn != null)  {
           RegionBean rb = null;
              Statement stmt = conn.createStatement();
              ResultSet rs = stmt.executeQuery(sql);
              StringBuffer sb=new StringBuffer("<regions></regions>");
              while(rs.next()) {
               sb.append("<region></region>");
               sb.append("<id></id>").append(rs.getString(1)).append("");
               sb.append(" <pid></pid> ").append(rs.getString(2)).append("");
               sb.append("<name></name>").append(rs.getString(3)).append("");
               sb.append("<level></level>").append(rs.getString(4)).append("");
               sb.append("");
              }
              sb.append("");
              System.out.println(sb.toString());
              response.setContentType(CONTENT_TYPE);
              PrintWriter out=response.getWriter();
        out.write(sb.toString());
        out.close();
          }
        }
      }catch(Exception e) {
        e.printStackTrace();
      }finally{
       if(conn!=null){
        try {
      conn.close();
     } catch (SQLException e) {
      e.printStackTrace();
     }
       }
      }
 }

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

 

 

AjaxTest.java

package com.ajax;

import javax.naming.*;
import javax.sql.*;
import java.sql.*;
import java.util.ArrayList;

public class AjaxTest {
 
   public ArrayList init() {
  String id = "";
  String pid = "";
     String name = "";
  ArrayList list = null;
  Connection conn = null;
     try{
       list = new ArrayList();
       Context ctx = new InitialContext();
       if(ctx == null )
           throw new Exception("Boom - No Context");
 
       DataSource ds =
             (DataSource)ctx.lookup(
                "java:comp/env/jdbc/ajax_select");
 
       if (ds != null) {
         conn = ds.getConnection();
         if(conn != null)  {
          RegionBean rb = null;
             Statement stmt = conn.createStatement();
             ResultSet rs = stmt.executeQuery("select id,pid,name,mylevel from region where pid = ''");
            
             while(rs.next()) {
              id =rs.getString(1);
              pid =rs.getString(2);
              name =rs.getString(3);
              rb = new RegionBean();
              rb.setId(id);
              rb.setPid(pid);
              rb.setName(name);
              list.add(rb);
             }
         }
       }
     }catch(Exception e) {
       e.printStackTrace();
     }finally{
      if(conn!=null){
       try {
     conn.close();
    } catch (SQLException e) {
     e.printStackTrace();
    }
      }
      return list;
     }
  }
}

 


RegionBean.java

package com.ajax;

public class RegionBean {
 String id = "";
 String pid = "";
 String name = "";
 int level;
 
  public String getId() { return id; }
  public String getPid() { return pid;}
  public String getName() { return name;}
  public int getLevel(){return level;}
 
  public void setId(String id){
   this.id=id;
  }
  public void setPid(String pid){
   this.pid=pid;
  }
  public void setName(String name){
   this.name=name;
  }
 
  public void setLevel(int level){
   this.level = level;
  }
}

------sql语句

drop table if exists region;

create table region(
id varchar(30) not null,
pid varchar(30) null,
name varchar(50) null,
mylevel int not null,
primary key (id)
)
type = InnoDB;

insert into region(id,pid,name,mylevel) values('a01','','state1',0);
insert into region(id,pid,name,mylevel) values('a02','','state2',0);
insert into region(id,pid,name,mylevel) values('a03','','state3',0);
insert into region(id,pid,name,mylevel) values('a04','','state4',0);
insert into region(id,pid,name,mylevel) values('a05','','state5',0);

insert into region(id,pid,name,mylevel) values('a01b01','a01','province1',1);
insert into region(id,pid,name,mylevel) values('a01b02','a01','province2',1);
insert into region(id,pid,name,mylevel) values('a01b03','a01','province3',1);
insert into region(id,pid,name,mylevel) values('a01b04','a01','province4',1);

insert into region(id,pid,name,mylevel) values('a02b01','a02','province21',1);
insert into region(id,pid,name,mylevel) values('a02b02','a02','province22',1);
insert into region(id,pid,name,mylevel) values('a02b03','a02','province23',1);
insert into region(id,pid,name,mylevel) values('a02b04','a02','province24',1);

insert into region(id,pid,name,mylevel) values('a03b01','a03','province31',1);
insert into region(id,pid,name,mylevel) values('a03b02','a03','province32',1);
insert into region(id,pid,name,mylevel) values('a03b03','a03','province33',1);
insert into region(id,pid,name,mylevel) values('a03b04','a03','province34',1);

insert into region(id,pid,name,mylevel) values('a01b01c01','a01b01','city11',2);
insert into region(id,pid,name,mylevel) values('a01b01c02','a01b01','city12',2);
insert into region(id,pid,name,mylevel) values('a01b01c03','a01b01','city13',2);
insert into region(id,pid,name,mylevel) values('a01b01c04','a01b01','city14',2);

insert into region(id,pid,name,mylevel) values('a03b01c01','a03b01','city31',2);
insert into region(id,pid,name,mylevel) values('a03b01c02','a03b01','city32',2);
insert into region(id,pid,name,mylevel) values('a03b01c03','a03b01','city33',2);
insert into region(id,pid,name,mylevel) values('a03b01c04','a03b01','city34',2);

insert into region(id,pid,name,mylevel) values('a01b01c01d01','a01b01c01','region1',3);
insert into region(id,pid,name,mylevel) values('a01b01c01d02','a01b01c01','region2',3);
insert into region(id,pid,name,mylevel) values('a01b01c01d03','a01b01c01','region3',3);
insert into region(id,pid,name,mylevel) values('a01b01c01d04','a01b01c01','region4',3);

insert into region(id,pid,name,mylevel) values('a03b01c02d01','a03b01c02','region21',3);
insert into region(id,pid,name,mylevel) values('a03b01c02d02','a03b01c02','region22',3);
insert into region(id,pid,name,mylevel) values('a03b01c02d03','a03b01c02','region23',3);
insert into region(id,pid,name,mylevel) values('a03b01c02d04','a03b01c02','region24',3);

insert into region(id,pid,name,mylevel) values('a01b01c03d01','a01b01c03','region31',3);
insert into region(id,pid,name,mylevel) values('a01b01c03d02','a01b01c03','region32',3);
insert into region(id,pid,name,mylevel) values('a01b01c03d03','a01b01c03','region33',3);
insert into region(id,pid,name,mylevel) values('a01b01c03d04','a01b01c03','region34',3);

insert into region(id,pid,name,mylevel) values('a03b01c03d01','a03b01c03','region31',3);
insert into region(id,pid,name,mylevel) values('a03b01c03d02','a03b01c03','region32',3);
insert into region(id,pid,name,mylevel) values('a03b01c03d03','a03b01c03','region33',3);
insert into region(id,pid,name,mylevel) values('a03b01c03d04','a03b01c03','region34',3);

insert into region(id,pid,name,mylevel) values('a03b01c04d01','a03b01c04','county41',3);
insert into region(id,pid,name,mylevel) values('a03b01c04d02','a03b01c04','county42',3);
insert into region(id,pid,name,mylevel) values('a03b01c04d03','a03b01c04','county43',3);
insert into region(id,pid,name,mylevel) values('a03b01c04d04','a03b01c04','county44',3);

insert into region(id,pid,name,mylevel) values('a01b01c01d01e01','a01b01c01d01','town1',4);
insert into region(id,pid,name,mylevel) values('a01b01c01d01e02','a01b01c01d01','town2',4);
insert into region(id,pid,name,mylevel) values('a01b01c01d01e03','a01b01c01d01','town3',4);
insert into region(id,pid,name,mylevel) values('a01b01c01d01e04','a01b01c01d01','town4',4);

insert into region(id,pid,name,mylevel) values('a03b01c02d04e01','a03b01c02d04','town21',4);
insert into region(id,pid,name,mylevel) values('a03b01c02d04e02','a03b01c02d04','town22',4);
insert into region(id,pid,name,mylevel) values('a03b01c02d04e03','a03b01c02d04','town23',4);
insert into region(id,pid,name,mylevel) values('a03b01c02d04e04','a03b01c02d04','town24',4);

insert into region(id,pid,name,mylevel) values('a03b01c04d04e01','a03b01c04d04','town41',4);
insert into region(id,pid,name,mylevel) values('a03b01c04d04e02','a03b01c04d04','town42',4);
insert into region(id,pid,name,mylevel) values('a03b01c04d04e03','a03b01c04d04','town43',4);
insert into region(id,pid,name,mylevel) values('a03b01c04d04e04','a03b01c04d04','town44',4);


insert into region(id,pid,name,mylevel) values('a03b01c04d04e01f01','a03b01c04d04e01','village1',5);
insert into region(id,pid,name,mylevel) values('a03b01c04d04e01f02','a03b01c04d04e01','village2',5);
insert into region(id,pid,name,mylevel) values('a03b01c04d04e01f03','a03b01c04d04e01','village3',5);
insert into region(id,pid,name,mylevel) values('a03b01c04d04e01f04','a03b01c04d04e01','village4',5);

insert into region(id,pid,name,mylevel) values('a01b01c01d01e02f01','a01b01c01d01e02','village21',5);
insert into region(id,pid,name,mylevel) values('a01b01c01d01e02f02','a01b01c01d01e02','village22',5);
insert into region(id,pid,name,mylevel) values('a01b01c01d01e02f03','a01b01c01d01e02','village23',5);
insert into region(id,pid,name,mylevel) values('a01b01c01d01e02f04','a01b01c01d01e02','village24',5);

insert into region(id,pid,name,mylevel) values('a03b01c02d04e04f01','a03b01c02d04e04','village41',5);
insert into region(id,pid,name,mylevel) values('a03b01c02d04e04f02','a03b01c02d04e04','village42',5);
insert into region(id,pid,name,mylevel) values('a03b01c02d04e04f03','a03b01c02d04e04','village43',5);
insert into region(id,pid,name,mylevel) values('a03b01c02d04e04f04','a03b01c02d04e04','village44',5);

insert into region(id,pid,name,mylevel) values('a03b01c04d04e01f01g01','a03b01c04d04e01f01','smallvillage1',6);
insert into region(id,pid,name,mylevel) values('a03b01c04d04e01f01g02','a03b01c04d04e01f01','smallvillage2',6);
insert into region(id,pid,name,mylevel) values('a03b01c04d04e01f01g03','a03b01c04d04e01f01','smallvillage3',6);
insert into region(id,pid,name,mylevel) values('a03b01c04d04e01f01g04','a03b01c04d04e01f01','smallvillage4',6);

 

------Tomcat 的service.xml

请在%Tomcat_Home%/conf/service.xml文件里参照附件里的service.xml修改创建虚似路径

 

         <parameter></parameter>

        
      
    
     

-------------------------------------------------------------------------------------------------------

工程原稿在附件里,详细见附件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值