亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JSP > 正文

java AJAX實現級聯下拉框

2020-07-27 21:43:34
字體:
來源:轉載
供稿:網友
復制代碼 代碼如下:

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;
}
}


<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE class SYSTEM "product.dtd" >
<class>
<class1 className="電腦配件" id="1">
<class2 className="內存" id="1">
<class3 id="1" className="kingmax"></class3>
<class3 id="2" className="kingston"></class3>
<class3 id="3" className="samsung"></class3>
<class3 id="4" className="hydadi"></class3>
<class3 id="5" className="ibm"></class3>
</class2>
<class2 className="硬盤" id="2">
<class3 id="6" className="hithait"></class3>
<class3 id="7" className="IBM"></class3>
<class3 id="8" className="samsung"></class3>
<class3 id="9" className="westdata"></class3>
</class2>
</class1>

<class1 className="食品配件" id="2">
<class2 className="漢堡包" id="1">
<class3 id="1" className="麥當勞"></class3>
<class3 id="2" className="肯得基"></class3>
<class3 id="3" className="羅杰絲"></class3>
</class2>
<class2 className="飲料" id="2">
<class3 id="4" className="cocacola"></class3>
<class3 id="5" className="sprite"></class3>
<class3 id="6" className="coffee"></class3>
<class3 id="7" className="water"></class3>
</class2>
</class1>
</class>


<?xml version="1.0" encoding="GB2312" ?>
<!ELEMENT class (class1+)>
<!ELEMENT class1 (class2+)>
<!ATTLIST class1 className NMTOKEN #REQUIRED>
<!ATTLIST class1 id NMTOKEN #REQUIRED>
<!ELEMENT class2 (class3+)>
<!ATTLIST class2 className NMTOKEN #REQUIRED>
<!ATTLIST class2 id NMTOKEN #REQUIRED>
<!ELEMENT class3 EMPTY>
<!ATTLIST class3 className NMTOKEN #REQUIRED>
<!ATTLIST class3 id NMTOKEN #REQUIRED>

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<classes.length;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<classes.length;i++) ...{
out.print(classes[i].getId()+","+classes[i].getClassName()+"|");
}
}
}
%>

(2)divmenu.jsp
<%@ page contentType="text/html; charset=gb2312"%>
<%@ page import="com.ajaxlab.ajax.*"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<script type="text/javascript" src="ajax_func.js" ></script>
<script type="text/javascript">

function doChange() ...{
var f = document.forms[0];
send_request("GET","getClass.jsp?class1Id="+f.select11.value+"&class2Id=",null,"TEXT",populateClass2);
}
function doChange2() ...{
var f = document.forms[0];
send_request("GET","getClass.jsp?class1Id="+f.select11.value+"&class2Id="+f.select12.value,null,"TEXT",populateClass3);
}
function populateClass2()...{
var f=document.forms[0];
if(http_request.readystate==4)...{
if(http_request.status==200)...{
var list=http_request.responseText;
var classList=list.split("|");
f.select12.options.length=1;
for(var i=0;i<classList.length-1;i++)...{
var temp=Trim(classList[i]).split(",");
f.select12.add(new Option(temp[1],temp[0]));
}
}
}
}

function populateClass3()...{
var f=document.forms[0];
if(http_request.readystate==4)...{
if(http_request.status==200)...{
var list=http_request.responseText;
var classList=list.split("|");
f.select13.options.length=1;
for(var i=0;i<classList.length-1;i++)...{
var temp=Trim(classList[i]).split(",");
f.select13.add(new Option(temp[1],temp[0]));
}
}
}
}
function LTrim(str)
...{
var whitespace = new String(" ");
var s = new String(str);
if (whitespace.indexOf(s.charAt(0)) != -1)
...{
var j=0, i = s.length;
while (j < i && whitespace.indexOf(s.charAt(j)) != -1)
...{
j++;
}
s = s.substring(j, i);
}
return s;
}
function RTrim(str)
...{
var whitespace = new String(" ");
var s = new String(str);
if (whitespace.indexOf(s.charAt(s.length-1)) != -1)
...{
var i = s.length - 1;
while (i >= 0 && whitespace.indexOf(s.charAt(i)) != -1)
...{
i--;
}
s = s.substring(0, i+1);
}
return s;
}
function Trim(str)
...{
return RTrim(LTrim(str));
}
</script>
<%
ClassService service = new ClassService();
ProductClass[] classes = service.getAllClass1();
%>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body><center>
<form name="classForm" method="post" action="">
<select name="select11" id="select11" onchange="doChange(this.value)">
<option value="">請選擇分類一</option>
<%
for(int i=0;i<classes.length;i++) ...{
out.println("<option value='"+classes[i].getId()+"'>"+classes[i].getClassName()+"</option>");
}
%>
</select>

<select name="select12" id="select12" onchange="doChange2(this.value)">
<option value="">請選擇分類二</option>
</select>

<select name="select13" id="select13">
<option value="">請選擇分類三</option>
</select>
</form>
</center></body>
</html>
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品日韩欧美大师| 亚洲天堂av综合网| 国产精品久久久久久久久久久久| 欧美激情中文字幕在线| 精品在线小视频| 欧美精品久久一区二区| 久久99精品久久久久久青青91| 91精品视频免费观看| 欧美精品在线看| 一区二区三区四区视频| 国产精品成人观看视频国产奇米| 亚洲综合精品一区二区| 精品福利在线观看| 欧美多人乱p欧美4p久久| 亚洲深夜福利网站| 亚洲成人黄色在线观看| 91亚洲精品久久久久久久久久久久| 理论片在线不卡免费观看| 国产福利精品av综合导导航| 热re91久久精品国99热蜜臀| 亚洲美女av在线播放| 欧美一区二三区| 国产最新精品视频| 亚洲人成电影在线| 91精品国产91久久久久久| 欧美在线观看网站| 精品国产一区久久久| 午夜精品久久久99热福利| 欧美成人激情视频| 日韩中文字幕不卡视频| 91精品久久久久| 欧美刺激性大交免费视频| 欧美xxxx做受欧美| 成年无码av片在线| 亚洲午夜性刺激影院| 欧美一区三区三区高中清蜜桃| 国产盗摄xxxx视频xxx69| 欧美激情视频网址| 国产日韩欧美影视| 久久久久久久久久久人体| 日韩高清a**址| 亚洲天堂av高清| 欧美黑人性生活视频| 国产区亚洲区欧美区| 欧美激情国产日韩精品一区18| 日韩免费视频在线观看| 亚洲最大成人在线| 亚洲欧洲日韩国产| 欧洲精品毛片网站| 亚洲第一页自拍| 日韩在线小视频| 中文字幕亚洲专区| 国产亚洲视频中文字幕视频| 在线亚洲欧美视频| 国产精品久久色| 国产精品日韩电影| 91免费欧美精品| www.美女亚洲精品| 久久久精品久久久久| 国产精品草莓在线免费观看| 久久久精品免费| 日韩av网站在线| 精品国产乱码久久久久久虫虫漫画| 国产精品久久久久久久久久尿| 欧美黑人xxxx| 国产+成+人+亚洲欧洲| 欧美黑人一区二区三区| 隔壁老王国产在线精品| 久久久久久亚洲精品中文字幕| 亚洲福利视频久久| 亚洲福利视频久久| 一区二区成人精品| 欧美日韩午夜视频在线观看| 亚洲a∨日韩av高清在线观看| 欧美激情啊啊啊| 精品亚洲一区二区三区在线观看| 色综合五月天导航| 亚洲bt欧美bt日本bt| 久久久久久久亚洲精品| 亚洲国产精品999| 日本国产高清不卡| 精品毛片三在线观看| 伊人成人开心激情综合网| 欧美精品在线第一页| 国产激情999| 欧美国产乱视频| 日本道色综合久久影院| 伊人一区二区三区久久精品| 一区二区三区黄色| 欧美性高潮床叫视频| 清纯唯美日韩制服另类| 国产精品视频公开费视频| 国产亚洲激情视频在线| 社区色欧美激情 | 国产亚洲精品va在线观看| 国产精品视频导航| 国产综合在线观看视频| 亚洲自拍偷拍福利| 亚洲一二三在线| 亚洲第一男人天堂| 中文字幕国内精品| 国产91在线播放| 色综合五月天导航| 欧美大片欧美激情性色a∨久久| 欧美成年人视频网站| xx视频.9999.com| 136fldh精品导航福利| 国产精品专区一| 国产z一区二区三区| 亚洲韩国欧洲国产日产av| 久久精品国产亚洲| 91综合免费在线| 久久亚洲精品成人| 欧美大片在线影院| 97香蕉超级碰碰久久免费软件| 欧美性理论片在线观看片免费| 一本大道香蕉久在线播放29| 欧美在线欧美在线| 欧美成人午夜剧场免费观看| 国产精品自产拍在线观看| 亚洲国产高清高潮精品美女| 精品中文视频在线| 国产精品色视频| 大胆人体色综合| 岛国视频午夜一区免费在线观看| 国产成人综合精品在线| 久久精品国产精品亚洲| 亚洲激情自拍图| 91亚洲国产成人久久精品网站| 日韩中文视频免费在线观看| 欧美视频国产精品| 日韩高清电影好看的电视剧电影| 欧美性猛交xxxx乱大交| 国产精品极品尤物在线观看| 欧美日韩国产一区在线| 亚洲国产女人aaa毛片在线| 久久久久久国产三级电影| 成人av番号网| 国产精品久久久久久搜索| 亚洲成人黄色在线| 亚洲精品久久7777777| 18性欧美xxxⅹ性满足| 日韩高清a**址| 欧美性生交xxxxxdddd| 久久全球大尺度高清视频| 精品呦交小u女在线| 国产欧美精品日韩精品| 精品电影在线观看| 日韩电影中文字幕| 亚洲精品国产拍免费91在线| 欧美精品成人91久久久久久久| 亚洲精品99久久久久| 欧美老妇交乱视频| 亚洲欧洲在线免费| 亚洲欧美另类中文字幕| 日韩av免费在线播放| 青青a在线精品免费观看| 69久久夜色精品国产7777| 97超碰蝌蚪网人人做人人爽| 亚洲天堂精品在线| 国产精品主播视频| 高跟丝袜欧美一区| 丝袜美腿亚洲一区二区| 欧美在线播放视频|