http://www.blogjava.net/supercrsky/articles/203698.html


index.jsp:

ExpandedBlockStart.gif ContractedBlock.gif <% dot.gif @ page language="java" pageEncoding="UTF-8" %>
None.gif < html >
None.gif < head >
None.gif < title >二级菜单联动演示 title >
ExpandedBlockStart.gif ContractedBlock.gif < script type ="text/javascript" > dot.gif
InBlock.gif
var req;
InBlock.gif window.onload
=function()
ExpandedSubBlockStart.gifContractedSubBlock.gif
dot.gif{//页面加载时的函数
ExpandedSubBlockEnd.gif
}

InBlock.gif
ExpandedSubBlockStart.gifContractedSubBlock.gif
function Change_Select()dot.gif{//当第一个下拉框的选项发生改变时调用该函数
InBlock.gif
var province = document.getElementById('province').value;
InBlock.gif
var url ="select?id="+ escape(province);
ExpandedSubBlockStart.gifContractedSubBlock.gif
if(window.XMLHttpRequest)dot.gif{
InBlock.gif req
=new XMLHttpRequest();
ExpandedSubBlockStart.gifContractedSubBlock.gif }
elseif(window.ActiveXObject)dot.gif{
InBlock.gif req
=new ActiveXObject("Microsoft.XMLHTTP");
ExpandedSubBlockEnd.gif }

ExpandedSubBlockStart.gifContractedSubBlock.gif
if(req)dot.gif{
InBlock.gif req.open(
"GET",url,true);
InBlock.gif
//指定回调函数为callback
InBlock.gif
req.onreadystatechange = callback;
InBlock.gif req.send(
null);
ExpandedSubBlockEnd.gif }

ExpandedSubBlockEnd.gif }

InBlock.gif
//回调函数
ExpandedSubBlockStart.gifContractedSubBlock.gif
function callback()dot.gif{
ExpandedSubBlockStart.gifContractedSubBlock.gif
if(req.readyState ==4)dot.gif{
ExpandedSubBlockStart.gifContractedSubBlock.gif
if(req.status ==200)dot.gif{
InBlock.gif parseMessage();
//解析XML文档
ExpandedSubBlockStart.gifContractedSubBlock.gif
}
elsedot.gif{
InBlock.gif alert(
"不能得到描述信息:"+ req.statusText);
ExpandedSubBlockEnd.gif }

ExpandedSubBlockEnd.gif }

ExpandedSubBlockEnd.gif }

InBlock.gif
//解析返回xml的方法
ExpandedSubBlockStart.gifContractedSubBlock.gif
function parseMessage()dot.gif{
InBlock.gif
var xmlDoc = req.responseXML.documentElement;//获得返回的XML文档
InBlock.gif
var xSel = xmlDoc.getElementsByTagName('select');
InBlock.gif
//获得XML文档中的所有标记中的第一个标记的值,也就是标记的值
InBlock.gif
var xText = xSel[i].childNodes[1].firstChild.nodeValue;
InBlock.gif
//获得每个0请选择";
ExpandedSubBlockEnd.gif }
elseif (targetId.equalsIgnoreCase("1"))
ExpandedSubBlockStart.gifContractedSubBlock.gifdot.gif{
InBlock.gif xml = "";
InBlock.gif xml += "";
InBlock.gif xml += "";
InBlock.gif xml += "";
ExpandedSubBlockEnd.gif }
elseif (targetId.equalsIgnoreCase("2"))
ExpandedSubBlockStart.gifContractedSubBlock.gifdot.gif{
InBlock.gif xml = "";
InBlock.gif xml += "";
InBlock.gif xml += "";
InBlock.gif xml += "";
ExpandedSubBlockEnd.gif }
else
ExpandedSubBlockStart.gifContractedSubBlock.gifdot.gif{// 如果是3,则返回下面的字符
InBlock.gif
xml = "";
InBlock.gif xml += "";
InBlock.gif xml += "";
InBlock.gif xml += "";
ExpandedSubBlockEnd.gif }

InBlock.gif
InBlock.gif String last_xml = xml_start + xml + xml_end;
InBlock.gif response.getWriter().write(last_xml);
InBlock.gif
ExpandedSubBlockEnd.gif }

InBlock.gif
InBlock.gifpublicvoid doPost(HttpServletRequest request, HttpServletResponse response)
InBlock.gifthrows ServletException, IOException
ExpandedSubBlockStart.gifContractedSubBlock.gifdot.gif{
InBlock.gif doGet(request, response);
ExpandedSubBlockEnd.gif }

InBlock.gif
InBlock.gifpublicvoid init() throws ServletException
ExpandedSubBlockStart.gifContractedSubBlock.gifdot.gif{
ExpandedSubBlockEnd.gif }

InBlock.gif
ExpandedBlockEnd.gif}

None.gif

web.xml:
None.gif xml version="1.0" encoding="UTF-8" ?>
None.gif < web-app version ="2.4" xmlns ="http://java.sun.com/xml/ns/j2ee"
None.gif xmlns:xsi
="http://www.w3.org/2001/XMLSchema-instance"
None.gif xsi:schemaLocation
="http://java.sun.com/xml/ns/j2ee
None.gif http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
>
None.gif < servlet >
None.gif < servlet-name >SelectServlet servlet-name >
None.gif < servlet-class >com.SelectServlet servlet-class >
None.gif servlet >
None.gif
None.gif < servlet-mapping >
None.gif < servlet-name >SelectServlet servlet-name >
None.gif < url-pattern >/select url-pattern >
None.gif servlet-mapping >
None.gif < welcome-file-list >
None.gif < welcome-file >index.jsp welcome-file >
None.gif welcome-file-list >
None.gif web-app >