- 浏览: 90985 次
- 性别:
- 来自: 鞍山
最新评论
-
mqlfly2008:
这个时钟会不会在页面访问后,客户端调节了时间,从而让时间不准确 ...
js取服务器时间显示时钟 -
chendu135:
这个挺好,可不可以在match()里面判断下一,除了字母或者汉 ...
js获取字符串长度(区分中英文)
首先整体的思路是:HTML端由一个input和div组成,div的隐藏和显示实现下拉框提示,input的字符输入动作触发js的函数,通过ajax来与jsp通信,获得模糊查询结果,返回前台来显示。
这里要注意与数据库通信的中文字符要统一字符集。
MYSQL对应"8859_1"。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD> <TITLE> New Document </TITLE> <meta content="text/html" charset="GBK" /> <META NAME="Generator" CONTENT="EditPlus"> <META NAME="Author" CONTENT=""> <META NAME="Keywords" CONTENT=""> <META NAME="Description" CONTENT=""> </HEAD> <BODY> <script type="text/javascript"> // ajax.js var XMLHttpReq; var completeDiv; var inputField; var completeTable; var completeBody; //创建XMLHttpRequest对象 function createXMLHttpRequest() { var o//============= if(window.XMLHttpRequest) { //Mozilla 浏览器 o = new XMLHttpRequest(); } else if (window.ActiveXObject) { // IE浏览器 try { o = new ActiveXObject("Msxml2.XMLHTTP"); } catch(e){ try{ o = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) {} } } return o;//============= } function findNames() { inputField = document.getElementById("names"); completeTable = document.getElementById("complete_table"); completeDiv = document.getElementById("popup"); completeBody = document.getElementById("complete_body"); if (inputField.value.length > 0) { var o=createXMLHttpRequest(); var url = "http://192.168.1.101/OAapp/jsp/index.jsp?names=" + escape(inputField.value); //此处escape函数可以去掉,escape是采用ISO Latin字符集对指定的字符串进行编码。 o.open("GET", url, true); o.onreadystatechange = function(){ if (o.readyState == 4) { // 判断对象状态 if (o.status == 200) { // 信息已经成功返回,开始处理信息 setNames(o.responseXML.getElementsByTagName("res")); }else { //页面不正常 window.alert("您所请求的页面有异常。"); } } };//指定响应函数 o.send(null); // 发送请求 } else { clearNames(); } } // 处理返回匹配信息函数 function processMatchResponse() { if (XMLHttpReq.readyState == 4) { // 判断对象状态 if (XMLHttpReq.status == 200) { // 信息已经成功返回,开始处理信息 alert("XMLHttpReq.responseText"); //输出看是否有乱码=============== setNames(XMLHttpReq.responseXML.getElementsByTagName("res")); }else { //页面不正常 window.alert("您所请求的页面有异常。"); } } } //生成与输入内容匹配行 function setNames(names) { clearNames(); var size = names.length; setOffsets(); var row, cell, txtNode; for (var i = 0; i < size; i++) { var nextNode = names[i].firstChild.data; row = document.createElement("tr"); cell = document.createElement("td"); cell.onmouseout = function() { this.className='mouseOver'; }; cell.onmouseover = function() { this.className='mouseOut'; }; cell.setAttribute("bgcolor", "#ffddcc"); cell.setAttribute("border", "0"); cell.setAttribute("width",inputField.offsetWidth+"px"); cell.onclick = function() { completeField(this); } ; txtNode = document.createTextNode(nextNode); cell.appendChild(txtNode); row.appendChild(cell); completeBody.appendChild(row); } } //设置显示位置 function setOffsets() { completeTable.style.width = "auto"; //显示自动完成的提示框宽度自动伸展或缩小 gettable(inputField); } //取绝对位置 function getAbsPosition(obj) { var r = { left: obj.offsetLeft, top : obj.offsetTop }; r.left = obj.offsetLeft; r.top = obj.offsetTop; if(obj.offsetParent) { var tmp = getAbsPosition(obj.offsetParent); r.left += tmp.left; r.top += tmp.top; } return r; } //为提示定位 function gettable(obj) { var pos = getAbsPosition(obj); pos.top += obj.offsetHeight; completeDiv.style.top = pos.top + "px"; completeDiv.style.left = pos.left + "px"; completeDiv.style.width = obj.offsetWidth + "px"; completeDiv.style.visibility = ''; } //计算显示位置 function calculateOffset(field, attr) { var offset = 0; while(field) { offset += field[attr]; field = field.offsetParent; } return offset; } //填写输入框 function completeField(cell) { inputField.value = cell.firstChild.nodeValue; clearNames(); } //清除自动完成行 function clearNames() { var ind = completeBody.childNodes.length; for (var i = ind - 1; i >= 0 ; i--) { completeBody.removeChild(completeBody.childNodes[i]); } completeDiv.style.border = "none"; } </script> <input type="text" id="names" onkeyup="findNames();" size="20"> <div id="popup" border="0" style="z-index:99;visibility:hidden;position:absolute;border:1px solid black;"> <table id="complete_table" border="0" cellspacing="0" cellpadding="0" style="background-color: #cceeff;"> <tbody id="complete_body"></tbody> </table> </div> </BODY> </HTML>
<%@ page contentType="text/html; charset=GBK" %> <%@ page language="java" %> <%@ page import="com.mysql.jdbc.Driver" %> <%@ page import="java.sql.*" %> <% response.setContentType("application/xml;charset=GBK"); response.setHeader("Cache-Control", "no-cache"); //驱动程序名 String driverName="org.gjt.mm.mysql.Driver"; //数据库用户名 String userName="root"; //密码 String userPasswd=""; //数据库名 String dbName=""; //表名 String tableName=""; //联结字符串 String url="jdbc:mysql://localhost/"+dbName+"?user="+userName+"&password="+userPasswd+"&useUnicode=true&characerEncoding=GBK"; String key=request.getParameter("names"); response.getWriter().write("<?xml version='1.0' encoding='GBK' ?>"); Class.forName("org.gjt.mm.mysql.Driver").newInstance(); Connection connection=DriverManager.getConnection(url); Statement statement = connection.createStatement(); String sql="SELECT * FROM "+tableName+" WHERE ht_person_id like '%"+key+"%' "; ResultSet rs = statement.executeQuery(sql); //获得数据结果集合 ResultSetMetaData rmeta = rs.getMetaData(); response.getWriter().write("<response>"); String col; // 输出每一个数据值 while(rs.next()) { col = new String(rs.getString(2).getBytes("ISO-8859-1"),"GBk"); response.getWriter().write("<res>"+col+"</res>"); } response.getWriter().write("</response>"); rs.close(); statement.close(); connection.close(); %>
这里要注意与数据库通信的中文字符要统一字符集。
MYSQL对应"8859_1"。
发表评论
-
删除打印机队列中待打印任务的方法
2011-11-07 11:01 3103最近单位的一个业务处室上了一台打印复印一体机,通过网络共 ... -
JOOMLA迁移中要注意的问题
2010-12-03 08:44 1007最近用joomlapack进行数据迁移,放到租用的空间上,结果 ... -
一些常用的excel模板
2010-11-01 15:40 972一些项目模板,包括周计划、BUG列表等等。仅供大家参考 -
权限控制菜单显示的一种实现方式简述
2010-09-14 07:35 1880权限的控制问题可以说是很多系统中都要处理的重点, ... -
js获取字符串长度(区分中英文)
2010-08-13 16:41 3367function getStrLength(str) { ... -
js取服务器时间显示时钟
2010-07-27 08:35 3847BS系统,要让原来的JS取本地时间的时钟变成取服务器的时间,这 ... -
js校验密码强度
2010-07-26 10:21 3144先说规则: 密码可输入类型(字符,字母大写,字母小写,特殊 ... -
JS取当前元素的“邻居”
2010-07-15 10:44 1224function showRecentMsgClick(sen ... -
单点登录的一种简单实现
2010-06-24 16:41 1038SSO的一种较为 ... -
JS打开子窗口并关闭父窗口的代码
2010-06-23 10:18 1638function openNewWin() { va ... -
根据文字多少大小进行变化的文本框
2010-05-26 15:22 1103直接上代码 <textarea rows="1 ... -
Java反射两个基本方法
2010-04-23 16:35 703今天进行java练习,遇到了需要用java反射来解决的问题—— ... -
利用DTree来制作js树
2010-04-20 15:15 1171整体思路就是利用java方 ... -
JAVA配置大全
2010-02-22 17:33 1545配置JDK (1)变量名:JAVA_HOME ... -
串口通信控制LED
2010-02-22 17:31 1231见附件,一个APPLET可以让客户端控制LED,具体的通信内容 ...
相关推荐
本文将详细介绍如何使用jsp和ajax技术实现输入框自动搜索功能,类似于百度搜索。 一、标题:jsp+ajax实现输入框自动搜索 该标题表明该技术使用jsp和ajax实现输入框自动搜索功能。 二、描述:类似于百度的搜索一样...
本案例将详细阐述如何利用这些基本技术,不依赖额外的框架或库,实现一个简单的Web系统,如用户登录、数据的增删查改等常见功能。 首先,JSP是Java的一种动态网页技术,它允许在HTML页面中嵌入Java代码,从而实现了...
【jsp+ajax聊天室】是一种基于JavaServer Pages (JSP) 和 Asynchronous JavaScript and XML (AJAX) 技术实现的在线实时交流平台。JSP是服务器端的技术,用于生成动态网页,而AJAX则是一种在不刷新整个页面的情况下与...
本项目的核心是利用JSP、Ajax和Servlet技术实现一个自动完成的搜索功能,类似于谷歌或百度的搜索建议。这种功能在用户输入查询词时,能够在后台实时获取匹配的建议结果,提升用户的搜索体验。以下是这个项目涉及到的...
基于JSP+AJAX的类百度搜索动模糊查询 该资源主要讲述了使用JSP、AJAX和Servlet技术来实现类似百度的模糊查询功能。 JSP页面分析 在JSP页面中,我们可以看到主要的HTML结构和JavaScript代码。HTML结构主要包括一个...
【JSP + AJAX 的聊天室】是一个典型的Web应用程序开发实例,它结合了JavaServer Pages(JSP)技术和Asynchronous JavaScript and XML(AJAX)技术,为用户提供了一个实时、交互式的在线聊天平台。在这个系统中,JSP...
本项目"JSP+ajax仿百度输入提示下拉列表"就是利用这两种技术来实现类似百度搜索框的实时输入提示功能,为用户提供友好且高效的输入体验。 首先,我们需要理解JSP的基础。JSP是一种服务器端脚本语言,它允许开发者在...
jsp+ajax 发送 GET 请求的方法 本文主要介绍了 jsp+ajax 发送 GET 请求的方法,包含了 Ajax 数据的发送与 JSP 文件的处理技巧。下面是详细的知识点: 一、Ajax 发送 GET 请求 Ajax 发送 GET 请求是通过创建 ...
【标题】"jsp智能提示完整版,jquery+ajax+text实现"揭示了这是一个关于Web开发的项目,主要涉及的技术栈是JavaServer Pages (JSP)、jQuery、Ajax以及文本处理。这个项目意在模仿百度的智能提示功能,即在用户输入时...
【JSP+AJAX华丽界面聊天室】 JSP(JavaServer Pages)和AJAX(Asynchronous JavaScript and XML)是Web开发中的两种核心技术,它们结合使用可以创建动态、交互性强的网页应用,例如我们这里提到的“JSP+AJAX华丽...
【标题】"jsp+ajax Long config"涉及到的技术点主要集中在JavaServer Pages (JSP)、Asynchronous JavaScript and XML (Ajax)以及可能的配置优化。这是一个Web应用程序开发中的常见组合,用于构建动态、交互性强的...
在本文中,我们将深入探讨如何使用JSP和Ajax技术来实现一个类似百度或谷歌搜索框的下拉列表功能。这个功能通常用于提供用户输入时的实时建议,提高用户体验,使得用户能够快速找到他们可能感兴趣的搜索项。 首先,...
【JSP+AJAX华丽界面聊天室】是一个利用JavaServer Pages(JSP)技术和AJAX(Asynchronous JavaScript and XML)动态网页技术构建的实时交互应用。在这个项目中,开发人员选择了jQuery作为AJAX的框架,因为jQuery简化...
JSP与Ajax结合使用是Web开发中常见的做法,尤其是通过Ajax技术实现异步数据交互。本文将介绍JSP结合Ajax技术通过GET方法发送请求的详细步骤和实现方法,该技术在数据请求和处理方面非常实用,尤其适用于需要在用户...
本项目"Ajax+jsp 输入框下拉提示"是针对输入框的一种常见功能,即当用户在输入框中输入文字时,系统自动显示下拉列表提供相关建议,提升用户体验。这种技术常用于搜索框、地址输入等场景,以减少用户输入错误和提高...
【jsp+ajax做的聊天室】是一个基于Web技术实现的在线交流平台,主要利用Java Server Pages (JSP) 和 Asynchronous JavaScript and XML (AJAX) 技术,为用户提供实时的私聊和群聊功能。在这个聊天室中,用户无需经过...
【在线聊天室】是一个常见的Web应用项目,它利用了Servlet、JSP以及Ajax技术来实现。这个Demo旨在帮助开发者理解如何在实际应用中构建实时交互的聊天环境。下面将详细介绍这三个关键技术及其在聊天室中的作用。 **...
综上所述,"jsp+ajax实现googleSuggest(全)"项目涵盖了JSP、AJAX以及前端交互设计等多个技术点,通过它们的结合,可以实现类似Google搜索框的智能提示功能,提升用户体验。在实际开发中,还需要考虑性能优化、错误...