تصف هذه المقالة تأثير قائمة الارتباط الثانوي التي تنفذها Java. شاركه للرجوع إليه ، على النحو التالي:
رمز JSP:
<٪@ page language = "java" pageencoding = "utf-8" ٪> <html> <heCt> <title> عرض توضيح لقائمة الثانوية </title> <script type = "text/javaScript"> var req ؛ window.onload = function () {// الدالة عند تحميل الصفحة} change_select () {// استدعاء هذه الوظيفة عندما يغير خيار المربع الأول المنسدل var province = document.getElementById ('Province'). value ؛ var url = "SELECT؟ id ="+ Escape (Province) ؛ if (window.xmlHttPrequest) {req = new xmlHttpRequest () ؛ } آخر if (window.activexobject) {req = new ActiveXObject ("Microsoft.xmlHttp") ؛ } if (req) {req.open ("get" ، url ، true) ؛ // حدد وظيفة رد الاتصال إلى رد الاتصال REQ.OnReadyStateChange = رد الاتصال ؛ req.send (null) ؛ }} // دالة الاتصال الدالة 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 المرتجع var xsel = xmldoc.getelementbytagname ('select') ؛ // احصل على جميع العلامات <select> في مستند XML var select_root = document.getElementById ('City') ؛ // احصل على المربع المنسدلة الثانية في صفحة الويب select_root.options.length = 0 ؛ // في كل مرة تحصل فيها على بيانات جديدة ، قم بمسح طول كل اثنين من الإطارات المنسدلة بمقدار 0 لـ (var i = 0 ؛ i <xsel.length ؛ i ++) {var xvalue = xsel [i] .ChildNodes [0] .firstchild.nodevalue ؛ // احصل على قيمة العلامة الأولى في كل علامة <select> ، أي قيمة <Suale> tag var xtext = xsel [i] .ChildNodes [1] .firstchild.nodevalue ؛ // احصل على قيمة العلامة الثانية في كل علامة <select> ، أي قيمة خيار <sevid> tag var = خيار جديد (xtext ، xvalue) ؛ // قم بإنشاء كائن خيار استنادًا إلى قيم كل مجموعة من القيمة والعلامات النصية ، حاول {select_root.add (خيار) ؛ // إضافة كائن خيار إلى مربع الإسقاط الثاني} catch (e) {}}}} <tr> <td align = "center"> مثال على الارتباط الثانوي </td> </tr> <tr> <td> <تحديد name = "province" id = "province" onChange = "change_select ()"> <! <Option Value = "3"> Shandong </soph> </select> <select name = "city" id = "city"> <! second srop-down menu> <ortion value = "0"> الرجاء تحديد </operكود جافا:
package com ؛ import java.io.ioException ؛ استيراد javax.servlet.servletexception ؛ استيراد javax.servlet.http.httpservlet ؛ استيراد javax.servlet.http.httpletrequest ؛ javax.servlet.http.http.httponsponse ؛ SelectServlet يمتد httpservlet {private Static Final Long SerialVersionuid = 1L ؛ Public SelectServlet () {super () ؛ } public void dorder () {super.destroy () ؛ } DOGED void public (طلب httpservletrequest ، استجابة httpservletresponse) يلقي servletexception ، ioException {// reponse.setcharacterencoding ("GBK") ؛ استجابة. استجابة. request.setcharacterencoding ("GBK") ؛ استجابة. setcharacterencoding ("UTF-8") ؛ String TargetId = request.getParameter ("id"). toString () ؛ System.out.println (TargetId) ؛ // احصل على قيمة معرف المعلمة في سلسلة الطلبات xml_start = "<selects>" ؛ String XML_END = "</selects>" ؛ سلسلة xml = "" ؛ if (targetId.equalsInsIgnorEcase ("0")) {xml = "<select> <value> 0 </value> <text> الرجاء تحديد </text> </revelop>" ؛ } if if (targetId.equalsInsignoreCase ("1")) {xml = "<select> <value> 1 </value> <text> changping </evide> </select>" ؛ XML += "<select> <value> 2 </value> <Text> fengtai </evide> </rection>" ؛ xml += "<select> <value> 3 </value> <Text> Haidian </extry> </select>" ؛ xml += "<select> <value> 4 </value> <Text> chaoyang </extry> </select>" ؛ } if if (targetId.equalsInsIgnoreCase ("2")) {xml = "<select> <value> 1 </value> <text> tanggu district </text> </select>" ؛ XML += "<select> <value> 2 </value> <Text> Hangu District </extry> </select>" ؛ XML += "<select> <value> 3 </value> <Text> Dagang District </extry> </select>" ؛ xml += "<select> <value> 4 </value> <Text> Dongli District </evide> </rection>" ؛ } آخر {// إذا كان 3 ، يتم إرجاع الحرف التالي xml = "<select> <value> 1 </value> <evide> jinan </text> </select>" ؛ xml += "<select> <value> 2 </value> <Text> Qingdao </extry> </rection>" ؛ XML += "<select> <value> 3 </value> <Text> Zibo </extry> </rection>" ؛ xml += "<select> <value> 4 </value> <Text> zaozhuang </evide> </select>" ؛ } string last_xml = xml_start + xml + xml_end ؛ desponse.getWriter (). الكتابة (last_xml) ؛ } public void dopost (httpservletrequest request ، httpservletresponse) يلقي servletexception ، ioException {doget (request ، response) ؛ } public void init () يلقي ServleTexception {}}رمز XML:
<؟ XSI: schemalocation = "http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> servlet> </servlet> <Servlet-mapping> <Servlet-Name> SelectServlet </servlet-name> <url-pattern>/select </url-pattern> </servlet mapping> <lip-file-list> <lish-file> index.jsp </iship-file> </iship-file-lible> </web-app>
لمزيد من المحتوى المتعلق بـ Java ، يمكن للقراء المهتمين بهذا الموقع عرض الموضوعات: "بنية بيانات Java وبرنامج تعليمي الخوارزمية" ، "ملخص Tips Java Operation DOM" ، "ملخص ملف Java ونصائح تشغيل الدليل" و "ملخص نصائح Java Cache Operation Tips"
آمل أن يكون هذا المقال مفيدًا لبرمجة Java للجميع.