当前位置: 首页 > 图文教程 > 数据库 > MYSQL > 实现jsp页面二级下拉框联动,实时读取数据库数据

MYSQL
MySQL collation方法
mysql Myisamchk小工具使用手册
MySQL server has gone away错误提示解决方法
从其他电脑访问本机的Mysql的设置方法
mysql 卡死 大部分线程长时间处于sending data的状态
MySQL 存储过程和"Cursor"的使用方法
mysql 忘记密码的解决方法(linux和windows小结)
MySQL 编码机制
CMS不要让MySQL为你流泪
MySQL 数据类型和建库策略
MYSQL 数据库命名与设计规范
mysql 按中文字段排序
mysql proxy问题的解决方法
Mysql 数据库访问类
MySQL 数据库跨操作系统的最快迁移方法
MySQL 数据库的临时文件究竟储存在哪里
MySQL 优化设置步骤
mysql 终结点映射器中没有更多的终结点可用的解决方法
MYSQL WHERE语句优化
MySQL 服务器参数说明及查看 设置方法

MYSQL 中的 实现jsp页面二级下拉框联动,实时读取数据库数据


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-17   浏览: 67 ::
收藏到网摘: n/a

在一个jsp页面实现二级下拉框联动,实时读取数据库数据,这个方法非常有用,只需要修改很小的地方就可以使用。设计的文件,serch.jsp,main.js,bytetostr.js,

先讲一下main.js,这是javascript,其中注意修改jsp页面名称。

以下为引用的内容:
 function findObject(fName,initValue)...{
   var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
   xmlhttp.open("POST","searchmx.jsp?findObject="+fName+"&initValue="+initValue,false);//注意修改jsp页面
   xmlhttp.send();
   document.getElementById(fName).innerHTML=bytes2BSTR(xmlhttp.responsebody); //bytes2BSTR函数在bytetostr.js中
 }

 其次为bytetostr.js,这是vbscript,这个不需要修改任何内容,他的主要功能就是读取数据转换字符串用的。

 Function bytes2BSTR(vIn)
  dim i
  strReturn = ""
  For i = 1 To LenB(vIn)
  ThisCharCode = AscB(MidB(vIn,i,1))
  If ThisCharCode < &H80 Then
  strReturn = strReturn & Chr(ThisCharCode)
  Else
  NextCharCode = AscB(MidB(vIn,i+1,1))
  strReturn = strReturn & Chr(CLng(ThisCharCode) * &H100 + CInt(NextCharCode))
  i = i + 1
  End If
  Next
  bytes2BSTR = strReturn
End Function

接下来就是serch.jsp页面,只需要修改div中的id为你想要的名字,再将一开始的包更换一下,已经sql语句改下就可以了,有不明白的可以参与讨论

以下为引用的内容:

<%@ page contentType="text/html; charset=gb2312" language="java" import="com.sjth.zdsygl.vo.*,com.sjth.zdsygl.biz.*,java.util.*,com.sjth.zdsygl.jdbc.*,java.sql.ResultSet"%>//导入相应的包
<%
//这部分代码用于执行查询数据库,返回字符串
  if (request.getParameter("findObject")!=null)...{
    if (request.getParameter("findObject").equals("hy_dm"))...{
      DBConnect conn = null;
      ResultSet rs = null;
      try...{                   
        out.print("<select name='hy_dm' onchange="javascript:findObject('hymx_dm',this.value)">");
        String sql = "select * from dm_hy group by left(hy_dm,7)";
        conn = new DBConnect();
        conn.setPstmt(sql);
        rs = conn.executeQuery(sql);
        while(rs.next())...{
          out.print("<option value='"+rs.getString("hy_dm")+"'>"+rs.getString("hy_mc")+"</option>");
        }    
        out.print("</select>");
     }
     catch (Exception e)...{                   
     }
     finally...{
          try...{
            if (rs != null)
                rs.close();
            if (conn != null)
                conn.close();
          }
          catch (Exception e)...{
            e.printStackTrace();
          }
     }
   }
    if (request.getParameter("findObject").equals("hymx_dm"))...{
      DBConnect conn = null;
      ResultSet rs = null;
      try...{                   
        out.print("<select name='hymx_dm' >");
        String sql = null;
        if (request.getParameter("initValue").equals(""))...{
          sql = "select * from dm_hy";
        }
        else...{
          sql = "select * from dm_hy where hy_dm like '"+request.getParameter("initValue")+"%'";
        }
        conn = new DBConnect();
        conn.setPstmt(sql);
        rs = conn.executeQuery(sql);
        while(rs.next())...{
          out.print("<option value='"+rs.getString("hy_dm")+"'>"+rs.getString("hy_mc")+"</option>");
        }    
        out.print("</select>");
     }
     catch (Exception e)...{                   
     }
     finally...{
          try...{
            if (rs != null)
                rs.close();
            if (conn != null)
                conn.close();
          }
          catch (Exception e)...{
            e.printStackTrace();
          }
     }
   }
   return;
 }
%>
<html>
<head>
    <link href="CSS/table.css" type="text/css" rel="stylesheet">
    <script language=vbscript src="css/bytetostr.js"></script>
    <script language=javascript src="css/main.js"></script>//导入两个js文件
</head>
<body>
      <div>所属行业:</div>
      <div id="hy_dm"></div> //用来显示返回的字符串
      <div >所属明细行业:</div>
      <div id="hymx_dm"></div>//用来显示返回的字符串
</body>
</html>
<script language="javascript">
       findObject("hy_dm","");
       findObject("hymx_dm","");//这两条是页面执行是调用
</script>

欢迎大家讨论