Este artículo describe el efecto del menú de enlace secundario implementado por Java. Compártelo para su referencia, como sigue:
Código JSP:
<%@ page lenguaje = "java" pageEncoding = "UTF-8"%> <html> <fead> <title> Demostración de enlace de menú secundario </title> <script type = "text/javaScript"> var req; Window.Onload = function () {// función cuando la página de carga} function change_select () {// llame a esta función cuando la opción del primer cuadro desplegable cambia var provincia = document.getElementById ('provincia'). valor; var url = "select? Id ="+ Escape (provincia); if (window.xmlhttprequest) {req = new xmlhttprequest (); } else if (window.activexObject) {req = new ActiveXObject ("Microsoft.xmlhttp"); } if (req) {req.open ("get", url, true); // Especifique la función de devolución de llamada a la devolución de llamada req.onreadyStateChange = Callback; req.send (nulo); }} // Función de devolución de llamada Callback () {if (req.readyState == 4) {if (req.status == 200) {parsemessage (); // documento xml de parse} else {alerta ("no puede obtener información de descripción:" + req.statustext); }}} // analice el método que devuelve la función xml parsemessage () {var xmlDoc = req.Responsexml.DocumentElement; // Obtener el documento XML devuelto var xsel = xmlDoc.getElementsByTagName ('select'); // Obtener todas las etiquetas <elect> en el documento XML var select_root = document.getElementById ('City'); // Obtenga el segundo cuadro desplegable en la página web select_root.options.length = 0; // Cada vez que obtiene nuevos datos, borre la longitud de cada dos marcos desplegables por 0 para (var i = 0; i <xsel.length; i ++) {var xvalue = xsel [i] .childnodes [0] .firstchild.nodeValue; // Obtenga el valor de la primera etiqueta en cada etiqueta <select>, es decir, el valor de la etiqueta <value> var xxText = xsel [i] .childnodes [1] .firstchild.nodevalue; // Obtenga el valor de la segunda etiqueta en cada etiqueta <select>, es decir, el valor de la opción <ext> tag var de opción = nueva opción (xtext, xvalue); //Create an option object based on the values of each set of value and text tags try{ select_root.add(option);//Add option object to the second drop-down box}catch(e){ } } } </script> </head> <body> <div align="center"> <form name="form1" method="post" action=""> <table cellpacing="0" cellpadding="0"> <tr> <td align = "Center"> Ejemplo de enlace secundario </td> </tr> <tr> <td> <select name = "Province" id = "Province" onchange = "change_select ()"> <! Primer menú desplegable> <opción valor = "0"> Seleccione </opción> <opción> <Opción> <Opción Valor/"1"> Beijing </option> valor = "3"> shandong </option> </select> <select name = "City" id = "City"> <! Segundo menú desplegable> <opción valor valor = "0"> Seleccione </opción> </select> </td> </tr> <tr> <td> </td> <tr> </table> </bor> </div> </foding> </hml>Código Java:
paquete com; import java.io.ioException; import javax.servlet.servletException; import javax.servlet.http.httpservlet; import javax.servlet.http.httpservletRequest; import javax.servlet.http.httpservletResponse;/*** * * * * * @author SelectServlet extiende httpservlet {private static final long SerialVersionUid = 1l; public selectServlet () {super (); } public void destruir () {super.destroy (); } public void doget (httpservletRequest solicitud, respuesta httpservletreSponse) lanza ServletException, ioexception {// respuesta.setcharacterEncoding ("gbk"); respuesta.setContentType ("Text/xml"); Respuesta.setheader ("Cache-Control", "No-Cache"); request.setcharacterEncoding ("GBK"); respuesta.setcharacterEncoding ("UTF-8"); Cadena TargetId = request.getParameter ("id"). ToString (); System.out.println (TargetId); // Obtener el valor de la ID de parámetro en la cadena de solicitud xml_start = "<selects>"; Cadena xml_end = "</selects>"; Cadena xml = ""; if (TargetId.equalSignorEcase ("0")) {xml = "<select> <alvalic> 0 </value> <extex> Seleccione </ext> </select>"; } else if (TargetId.equalSignorEcase ("1")) {xml = "<Entect> <value> 1 </value> <EEXT> Changping </text> </select>"; xml += "<select> <value> 2 </value> <ext> fengtai </ext> </select>"; xml += "<select> <value> 3 </value> <EEXT> Haidian </text> </select>"; xml += "<select> <value> 4 </value> <ext> chaoyang </ext> </section>"; } else if (TargetId.equalSignorEcase ("2")) {xml = "<select> <value> 1 </value> <EEXT> Distrito Tanggur </ext> </select>"; xml += "<select> <value> 2 </value> <ext> Distrito de Hangu </ext> </section>"; xml += "<select> <value> 3 </value> <ext> Dagang District </ext> </section>"; xml += "<select> <value> 4 </value> <EEXT> DISTRITO DONGLI </EXT> </section>"; } else {// Si es 3, el siguiente carácter se devuelve xml = "<select> <value> 1 </value> <EEXT> Jinan </text> </select>"; xml += "<select> <value> 2 </value> <ext> qingdao </ext> </section>"; xml += "<select> <value> 3 </value> <ext> zibo </ext> </section>"; xml += "<select> <value> 4 </value> <ext> zaozhuang </ext> </section>"; } Cadena last_xml = xml_start + xml + xml_end; Response.getWriter (). Write (Last_xml); } public void dopost (httpservletRequest solicitud, respuesta httpservletreSponse) lanza ServletException, ioexception {doget (solicitud, respuesta); } public void init () lanza ServletException {}}Código XML:
<? xml versión = "1.0" encoding = "utf-8"?> <web-app versión = "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"> <servlet> <ervlet-name> selectservlet </servlet-name> <ervlet-class> com.selectserve </servlet> <ervlet-mapping> <servlet-name> selectServlet </servlet-name> <url-pattern>/select </url-pattern> </servlet-mapping> <welcome-file-list> <welcome-file> index.jsp </le breve-file> </welong-file-list> </beb-app>
Para obtener más contenido relacionado con Java, los lectores interesados en este sitio pueden ver los temas: "Estructura de datos de Java y tutorial de algoritmo", "Resumen de las puntas de nodo de operación Java DOM", "Resumen de los archivos Java y consejos de operación de directorio" y "Summary of Java Cache Operation Tips" ".
Espero que este artículo sea útil para la programación Java de todos.