栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > Web开发 > JavaScript > Ajax教程

AJAX级联下拉框的简单实现案例

Ajax教程 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

AJAX级联下拉框的简单实现案例

需要的JAVA类
复制代码 代码如下:
package com.ajaxlab.ajax;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
import org.jdom.document;
import org.jdom.Element;
import org.jdom.input.SAXBuilder;
import com.ajaxlab.ajax.ProductClass;

public class ClassService {
   private document dom;
   public ClassService(){
    try{
     SAXBuilder builder=new SAXBuilder();
     this.dom=builder.build(ClassService.class.getResource("product.xml"));
    }catch(Exception e){
    e.printStackTrace();
    }
   }
   public ProductClass[] getAllClass1(){
    Collection products=new ArrayList();
    Iterator iterator=this.dom.getRootElement().getChildren().iterator();
    do{
     Element element=(Element)iterator.next();
     ProductClass product=new ProductClass(element.getAttributevalue("id"),
                                     element.getAttributevalue("className"));  
        products.add(product);
    }while(iterator.hasNext());
    return (ProductClass[])products.toArray(new ProductClass[0]);

   }

   public ProductClass[] getAllClass2ById(String class1Id){
    Collection products=new ArrayList();
    Element classElement=null;
    Iterator iterator=this.dom.getRootElement().getChildren().iterator();
    do{
     Element element=(Element)iterator.next();
     if(class1Id.equalsIgnoreCase(element.getAttributevalue("id"))){
      classElement=element;
      break;
     }
    }while(iterator.hasNext());

    if(classElement!=null){
     Iterator iter=classElement.getChildren().iterator();
     do{
      Element element=(Element)iter.next();
      ProductClass product=new ProductClass(element.getAttributevalue("id"),
                                      element.getAttributevalue("className"));
               products.add(product);
     }while(iter.hasNext());
    return (ProductClass[])products.toArray(new ProductClass[0]);
    }
    else{
     return null;
    }
   }

 
   public ProductClass[] getAllClass3ById(String class1Id,String class2Id) {
  Collection products = new ArrayList();
  Element class1Element = null;
  Element class2Element = null;

  Iterator iterator = this.dom.getRootElement().getChildren().iterator();
  do {
   Element element = (Element)iterator.next();
   if(class1Id.equalsIgnoreCase(element.getAttributevalue("id"))) {
    class1Element = element;
    break;
   }
  }while(iterator.hasNext());

  if(class1Element!=null) {
   Iterator iter = class1Element.getChildren().iterator();
   do {
    Element element = (Element)iter.next();
    if(class2Id.equalsIgnoreCase(element.getAttributevalue("id"))) {
     class2Element = element;
     break;
    }
   }while(iter.hasNext());

   if(class2Element!=null) {
    Iterator iter2 = class2Element.getChildren().iterator();
    do {
     Element element = (Element)iter2.next();
     ProductClass product = new ProductClass(element.getAttributevalue("id"),element.getAttributevalue("className"));
     products.add(product);
    }while(iter2.hasNext());
   }
   return (ProductClass[])products.toArray(new ProductClass[0]);
  }
  else return null;
}
}





 
    
      
      
      
      
        
    

    
      
      
      
      
    

 

 
    
      
      
      
    

    
      
      
      
      
    

 












JSP:
(1)getClass.jsp 充当业务层供ajax调用
<%@ page contentType="text/html; charset=gb2312"%>
<%@ page import="com.ajaxlab.ajax.*"%>
<%
String class1Id = request.getParameter("class1Id");
String class2Id = request.getParameter("class2Id");
if("".equals(class1Id)) class1Id = null;
if("".equals(class2Id)) class2Id = null;
ClassService service = new ClassService();
if((class1Id!=null)&&(class2Id==null)) {
ProductClass[] classes = service.getAllClass2ById(class1Id);
if(classes!=null) {
  for(int i=0;i   out.print(classes[i].getId()+","+classes[i].getClassName()+"|");
  }
}
}
else if((class1Id!=null)&&(class1Id!=null)) {
ProductClass[] classes = service.getAllClass3ById(class1Id,class2Id);
if(classes!=null) {
  for(int i=0;i   out.print(classes[i].getId()+","+classes[i].getClassName()+"|");
  }
}
}
%>

(2)divmenu.jsp
<%@ page contentType="text/html; charset=gb2312"%>
<%@ page import="com.ajaxlab.ajax.*"%>





<%
  ClassService service = new ClassService();
  ProductClass[] classes = service.getAllClass1();
%>

Insert title here





转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/128724.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号