Cet article décrit l'effet du menu de liaison secondaire implémenté par Java. Partagez-le pour votre référence, comme suit:
Code jsp:
<% @ page Language = "Java" Pageencoding = "UTF-8"%> <html> <A-Head> <Title> Démonstration de liaison du menu secondaire </ Title> <Script Type = "Text / JavaScript"> var req; window.onLoad = function () {// Fonction Lorsque la page Chargement} Fonction Change_Select () {// Appelez cette fonction lorsque l'option de la première boîte déroulante modifie var province = document.getElementByid ('province'). valeur; var url = "select? Id =" + Escape (province); if (window.xmlhttpRequest) {req = new xmlHttpRequest (); } else if (window.activexObject) {req = new activeXObject ("Microsoft.xmlhttp"); } if (req) {req.open ("get", url, true); // Spécifiez la fonction de rappel sur le rappel req.onreadystateChange = callback; req.send (null); }} // Fonction de rappel Fonction Callback () {if (req.readystate == 4) {if (req.status == 200) {parsemessage (); // Parse xml document} else {alert ("ne peut pas obtenir des informations de description:" + req.statustext); }}} // analyse la méthode qui renvoie la fonction XML PARSEMESSAGE () {var XMLDOC = req.Responsexml.DocumentElement; // Obtenez le document xml renvoyé var xsel = xmlDoc.getElementsByTagName ('select'); // Obtenez toutes les balises <lect> dans le document XML var select_root = document.getElementById ('ville'); // Obtenez la deuxième boîte déroulante dans la page Web select_root.options.length = 0; // Chaque fois que vous obtenez de nouvelles données, effacez la longueur de chaque deux cadres déroulants par 0 pour (var i = 0; i <xsel.length; i ++) {var xvalue = xsel [i] .childNodes [0] .Firstchild.Nodevalue; // Obtenez la valeur de la première balise dans chaque balise <lect>, c'est-à-dire la valeur de la balise <value> var xtext = xsel [i] .childNodes [1] .FirstChild.Nodevalue; // Obtenez la valeur de la deuxième balise dans chaque balise <lect>, c'est-à-dire la valeur de l'option <Text> TAG VAR = nouvelle option (xText, xvalue); // Créer un objet d'option basé sur les valeurs de chaque ensemble de valeurs et de balises de texte essayez {select_root.add (option); // ajouter un objet d'option à la deuxième boîte déroulante} catch (e) {}}}} </script> </-head> <body> <div align = "Center"> <form name = "Form1" Method = "Post" Action = ""> <Table CellPacing = "0" CELLECTADDDIN <td align = "Center"> Exemple de liaison secondaire </td> </tr> <tr> <td> <sélectionner name = "province" id = "province" onChange = "Change_Select ()"> <! First Drop-Down Menu> <option Value = "0"> VEUILLE Value = "3"> Shandong </ Option> </ Select> <Select Name = "City" id = "City"> <! Second Menu Drop-Down> <Option Value = "0"> Veuillez sélectionner </ Td> </lect> </ Td> </r> </ Div> </ Body> </html>Code Java:
Package Com; Importer java.io.ioException; import javax.servlet.servletException; import javax.servlet.http.httpservlet; import javax.servlet.http.httpservletRequest; SELECTServlet étend httpServlet {private static final long SerialVersionUID = 1l; public selectServlet () {super (); } public void destre () {super.destroy (); } public void doGet (requête httpservletRequest, réponse httpservletResponse) lève ServletException, ioException {// réponse.SetcharAtterencoding ("gbk"); réponse.setContentType ("Text / Xml"); Response.sethEader ("Cache-Control", "No-cache"); request.SetcharAtterencoding ("gbk"); Response.SetcharAtterencoding ("UTF-8"); String TargetId = request.getParameter ("id"). ToString (); System.out.println (TargetId); // Obtenez la valeur de l'ID de paramètre dans la chaîne de demande xml_start = "<lects>"; String xml_end = "</leouss>"; String xml = ""; if (targetId.equalSignoreCase ("0")) {xml = "<lect> <value> 0 </value> <Text> Veuillez sélectionner </Text> </lect>"; } else if (cibleId.equalsignoreCase ("1")) {xml = "<lect> <value> 1 </value> <Text> Changping </XTME> </lect>"; xml + = "<lelect> <value> 2 </value> <Text> Fengtai </Text> </lect>"; xml + = "<lelect> <value> 3 </value> <Text> Haidian </Text> </lect>"; xml + = "<lelect> <value> 4 </value> <Text> Chaoyang </Text> </lect>"; } else if (cibleId.equalsignoreCase ("2")) {xml = "<lect> <value> 1 </value> <Text> Tanggu District </Text> </lect>"; xml + = "<lect> <value> 2 </value> <Text> Hangu District </Text> </lect>"; xml + = "<lect> <value> 3 </value> <Text> Dagang District </Text> </lect>"; xml + = "<lect> <value> 4 </value> <Text> Dongli District </Text> </lect>"; } else {// Si il est 3, le caractère suivant est renvoyé xml = "<lect> <value> 1 </value> <Text> Jinan </Text> </lect>"; xml + = "<lelect> <value> 2 </value> <Text> Qingdao </Text> </lect>"; xml + = "<lelect> <value> 3 </value> <Text> Zibo </Text> </lect>"; xml + = "<lect> <value> 4 </value> <Text> ZaozHuang </Text> </lect>"; } String last_xml = xml_start + xml + xml_end; réponse.getWriter (). Write (last_xml); } public void doPost (requête HttpServletRequest, réponse httpservletResponse) lève ServletException, ioException {doget (request, réponse); } public void init () lève ServletException {}}Code XML:
<? xml version = "1.0" encoding = "utf-8"?> <web-app version = "2.4" xmlns = "http://java.sun.com/xml/ns/j2ee" xmlns: xsi = "http://www.w3.org/2001/xmlschema-instance" XSI: ScheMalocation = "http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> <serplet> <Serplet-Name> SelectServlet </servlet-Name> <Serplet-Cllass> Com.selectServlet </servlet-Name> <Serplet-Cllass> Com.SelectServlet </servlet-Name> </ servlet> <servlet-mapping> <servlet-name> selectServlet </ servlet-name> <url-potern> / select </url-potern> </ servlet-mapping> <welcome-file-list> </vile-file> index.jsp </ven welcome-file> </ bienvenue-file-list> </low appride>
Pour plus de contenu lié à Java, les lecteurs qui sont intéressés par ce site peuvent afficher les sujets: "Tutoriel de structure de données Java et d'algorithme", "Résumé des conseils de nœud de Dom Operation Java", "Résumé du fichier Java et des conseils d'opération de répertoire" et "Résumé des conseils d'opération Java Cache"
J'espère que cet article sera utile à la programmation Java de tous.