この記事では、Javaが実装した二次リンケージメニューの効果について説明します。次のように、参照のために共有してください。
JSPコード:
<%@ page Language = "java" pageEncoding = "utf-8"%> <html> <head> <title> secondaryメニューリンクデモ</title> <script type = "text/javascript"> var req; window.onload = function(){//ページの読み込み時の関数} function change_select(){//最初のドロップダウンボックスのオプションがVAR PROVINCE = document.getElementByID( 'provence')。値を変更する場合、この関数を呼び出します。 var url = "select?id ="+ escase(unter); if(window.xmlhttprequest){req = new xmlhttprequest(); } else if(window.activexobject){req = new ActiveXObject( "microsoft.xmlhttp"); } if(req){req.open( "get"、url、true); //コールバックにコールバック関数を指定しますreq.onreadystatechange = callback; req.send(null); }} // callback関数関数callback(){if(req.readystate == 4){if(req.status == 200){parsemessage(); // parse xml document} else {alert( "説明情報を取得できない:" + req.statustext); }}} // xml関数を返す方法を解析するparsemessage(){var xmldoc = req.responsexml.documentelement; //返されたxml document var xsel = xmldoc.getelementsbytagname( 'select'); // XMLドキュメントですべての<select>タグを取得var select_root = document.getElementById( 'city'); // Webページに2番目のドロップダウンボックスを取得しましたselect_root.options.length = 0; //新しいデータを取得するたびに、2つのドロップダウンフレームの長さを0でクリアします(var i = 0; i <xsel.length; i ++){var xvalue = xsel [i] .childnodes [0] .firstchild.nodevalue; //各<select>タグの最初のタグの値を取得します。つまり、<value>タグの値var xtext = xsel [i] .childnodes [1] .firstchild.nodevalue; //各<select>タグ、つまり<text> tag var option = new option(xtext、xvalue)の値の2番目のタグの値を取得します。 //値とテキストタグの各セットの値に基づいてオプションオブジェクトを作成しますtry {select_root.add(option); // 2番目のドロップダウンボックスにオプションオブジェクトを追加} catch(e){}} </script> </head> <body> <div align = "center"> <form name = "form1" <tr> <td align = "center">セカンダリリンクの例<オプション値= "3"> shandong </option> </select> <select name = "city" id = "city"> <!2番目のドロップダウンメニュー> <オプション値= "0"> </option> </select> </select> </select> </select> </td> </tr <td> </td> <tr> </table>Javaコード:
パッケージcom; import java.io.ioexception; Import javax.servlet.servletexception; Import javax.servlet.http.httpservlet; Import javax.servlet.http.httpservletrequest; Import javax.servlet.http.httpservletrelesponeponpenponponephretsponponponephretsponeponpenponephletredspenponeponseponpenspenponsponephletresponpephretspensponpephletredspenpephletresponpepenpone; SelectServletはhttpservletを拡張します{private static final long serialversionuid = 1l; public selectservlet(){super(); } public void Destroy(){super.destroy(); } public void doget(httpservletrequest request、httpservletResponse応答)servletexception、ioexception {// respons.setcharacterencoding( "gbk"); Response.setContentType( "Text/xml"); Response.setheader( "Cache-Control"、 "no-cache"); request.setcharacterencoding( "gbk"); Response.setcharacterencoding( "utf-8"); string targetId = request.getParameter( "id")。toString(); system.out.println(targetId); //要求文字列xml_start = "<selects>";でパラメーターIDの値を取得します。文字列xml_end = "</selects>";文字列xml = ""; if(targetid.equalsignorecase( "0")){xml = "<select> <value> 0 </value> <text>を選択してください</text> </select>"; } else if(targetid.equalsignorecase( "1")){xml = "<select> <balue> 1 </value> <text> changing </text> </select>"; xml += "<select> <value> 2 </value> <text> fengtai </text> </select>"; xml += "<select> <value> 3 </value> <text> haidian </text> </select>"; xml += "<select> <value> 4 </value> <text> chaoyang </text> </select>"; } else if(targetid.equalsignorecase( "2")){xml = "<select> <balue> 1 </value> <text> tanggu地区</text> </select>"; xml += "<select> <value> 2 </value> <text> hangue地区</text> </select>"; xml += "<select> <value> 3 </value> <text> dagang District </text> </select>"; xml += "<select> <value> 4 </value> <text> dongli地区</text> </select>"; } else {// 3の場合、次の文字が返されますxml = "<select> <balue> 1 </value> <text> jinan </text> </select>"; xml += "<select> <value> 2 </value> <text> qingdao </text> </select>"; xml += "<select> <value> 3 </value> <text> zibo </text> </select>"; xml += "<select> <value> 4 </value> <text> zaozhuang </text> </select>"; } string last_xml = xml_start + xml + xml_end; Response.getWriter()。write(last_xml); } public void dopost(httpservletrequest request、httpservletResponse応答)servletexception、ioexception {doget(request、response); } public void init()throws servletexception {}}XMLコード:
<?xml version = "1.0" encoding = "utf-8"?> <web-appバージョン= "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> <servlet-name> selectservlet </servlet> <servlet-mapping> <servlet-name> selectservlet </servlet-name> <url-pattern>/select </url-pattern> </servlet-mapping> <welcome-file-list> <welcome-file> index.jsp </welcome-file> </welcome-file-list> </app>
Java関連のコンテンツについては、このサイトに興味のある読者は、「Javaデータ構造とアルゴリズムのチュートリアル」、「Java操作DOMノードのヒントの概要」、「Javaファイルの要約およびディレクトリ操作のヒント」、「Java Cache操作のヒントの要約」というトピックを見ることができます。
この記事がみんなのJavaプログラミングに役立つことを願っています。