基于JSP Servlet xml的select二级联动
来源:互联网 发布:淘宝多边纸盒图片 编辑:程序博客网 时间:2024/06/05 15:51
Servlet:queryJointDevice.java
package com;import java.io.*; import javax.servlet.*;import javax.servlet.ServletConfig;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import java.sql.*; import java.util.*;public class queryJointDevice extends HttpServlet { public queryJointDevice() { super(); } public void destroy() { super.destroy(); } private static final long serialVersionUID = 1L; private String driver; private String url; private String user; private String pass; public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { System.out.println("get方法进入..."); //response.setContentType("text/html"); //request.setCharacterEncoding("utf-8"); //response.setCharacterEncoding("utf-8"); String q=request.getParameter("q"); System.out.println(q); if("TraAntExchage".equals(q)){ try{ System.out.println(q); Connection con=null; Statement stat=null; ResultSet rs = null; Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); String url = "jdbc:sqlserver://localhost:1433;DatabaseName=DEVICEINFO"; String user = "sa"; String password = "123456"; System.out.println("数据URL:"+url); System.out.println("数据库登录名:"+user); System.out.println("数据库密码:"+password); con = DriverManager.getConnection(url,user,password); stat = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY); String sql="select * from TB_TraAntExchage"; System.out.println("123"); rs=stat.executeQuery(sql); System.out.println("456"); rs.last();//获取记录总数 int j=rs.getRow(); String[] TAExchage_NAME=new String[j]; System.out.println(rs.getRow()); int i=0; //rs.first(); rs.absolute(0); response.setContentType("text/xml"); response.setCharacterEncoding("UTF-8"); request.setCharacterEncoding("UTF-8"); response.setHeader("Cache-Control", "no-cache"); PrintWriter out = response.getWriter(); String xml_head="<?xml version=\"1.0\" encoding=\"UTF-8\"?>"; String xml_start = "<selects>"; String xml_end = "</selects>"; String xml = ""; while(rs.next()){ System.out.println(rs.getString("TAExchage_NAME")); TAExchage_NAME[i]=rs.getString("TAExchage_NAME"); i++; System.out.println("789"); System.out.println(rs.getString("TAExchage_NAME")); System.out.println("11"); xml += "<select><value>"+rs.getString("TAExchage_NAME")+"</value><text>"+rs.getString("TAExchage_NAME")+"</text></select>"; } String last_xml = xml_head+xml_start + xml + xml_end; System.out.println(last_xml); response.getWriter().write(last_xml); out.flush(); out.close(); con.close(); } catch (Exception ex) { System.out.println("数据库加载失败"); System.out.println(ex); } } if(q=="发信机"){ } } @Override public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request,response); } @Override public void init(ServletConfig config) throws ServletException { super.init(config); //配置文件配置的数据库驱动、url、数据库登录名、登录密码 ServletConfig conf = getServletConfig(); driver = conf.getInitParameter("driver"); url = conf.getInitParameter("url"); user = conf.getInitParameter("user"); pass = conf.getInitParameter("pass"); System.out.println("数据库驱动:"+driver); System.out.println("数据URL:"+url); System.out.println("数据库登录名:"+user); System.out.println("数据库密码:"+pass); }}
JSP:getSub.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html> <head> <script type="text/javascript"> function selectJointDevice(str){ var xmlhttp; if (str==""){ document.getElementById("TAExchage_NAME").innerHTML=""; return; } if (window.XMLHttpRequest){// code for IE7+, Firefox, Chrome, Opera, Safari xmlhttp=new XMLHttpRequest(); } else{// code for IE6, IE5 xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); } xmlhttp.onreadystatechange=function() { if (xmlhttp.readyState==4 && xmlhttp.status==200){ document.getElementById("test2").innerHTML="processResponse1"; document.getElementById("test2").innerHTML="aaa"; var xmlDoc = xmlhttp.responseXML.documentElement;//获得返回的XML文档 var xSel = xmlDoc.getElementsByTagName("select"); //获得XML文档中的所有<select>标记 var select_root = document.getElementById("test"); //获得网页中的第二个下拉框 select_root.options.length=0; //每次获得新的数据的时候先把每二个下拉框架的长度清0 var aaa = document.createTextNode(xSel.length); document.getElementById("test2").appendChild(aaa); var textNode = document.createTextNode(xSel[1].getElementsByTagName("value")[0].firstChild.data); document.getElementById("test2").appendChild(textNode); //document.write("1123456"); //document.write(xSel.childNodes[0].firstChild.nodeValue); for(var i=0;i<xSel.length;i++){ //var xValue = xSel.childNodes[0].firstChild.nodeValue; var xValue = xSel[i].getElementsByTagName("value")[0].firstChild.data; //获得每个<select>标记中的第一个标记的值,也就是<value>标记的值 // var xText = xSel.childNodes[1].firstChild.nodeValue; var xText= xSel[i].getElementsByTagName("text")[0].firstChild.data; //获得每个<select>标记中的第二个标记的值,也就是<text>标记的值 var option = new Option(xText, xValue); //根据每组value和text标记的值创建一个option对象 try{ select_root.add(option);//将option对象添加到第二个下拉框中 } catch(e){ document.write(e); } } } } xmlhttp.open("GET","queryJointDevice?q="+str,true); xmlhttp.send();} </script> </head> <body> <select style="heigt:32px;font-size:16px;margin:0px;" name="JOINT_DEVICETYPE" onchange="selectJointDevice(this.value)"> <option selected="selected">==请选择==</option> <option value="TraAntExchage" >发信天线交换设备</option> <option value="发信移相交换设备" >发信移相交换设备</option> </select> <select style="heigt:32px;font-size:16px;margin:0px;" name="JOINT_DEVICENAME" id="test" > <option selected="selected" >==请选择==</option> </select> <div id="test2" style="height:100px;width:100px;background:blue;'"> </div> </body></html>
0 0
- 基于JSP Servlet xml的select二级联动
- AJAX基于XML二级联动下拉菜单<jsp>
- 基于jQuery的二级联动<select>
- jsp+jquery+json+servlet二级联动
- JavaScript之AJAX实现二级联动菜单(jsp+js+servlet+xml)
- AngularJs写的select的二级联动
- 利用XMLHTTP实现的二级联动Select
- select二级联动
- select二级联动
- <s:select>二级联动
- 二级联动Select标签
- 简易select二级联动
- select二级联动
- 二级联动select
- select 二级联动
- ajax jsp二级联动下拉框 select框
- jsp+javascript实现动态下拉二级联动(select+option)
- Java乔晓松-js解析xml文件实现select二级联动
- DNSSEC 原理、配置与布署简介
- BibTeX-Style vs 中国国家标准《GB/T 7714-2005: 文后参考文献著录规则》 生成
- Oracle BIEE BI Server ODBC 存储过程指南
- 2.单行函数-字符函数
- JavaScript判断手机号运营商是移动、联通、电信还是其他(代码简单
- 基于JSP Servlet xml的select二级联动
- linux vi命令
- Eclipse 中如何快速复制光标收在行?
- MyBatis关联映射
- FZU 1055 赋值问题(细节决定成败)
- HTTP协议头部与Keep-Alive模式详解
- Eclipse中如何将撤销的内容显示出来
- CCF 数字排序
- 中国剩余定理