Ajax 模糊查询的简单实现
来源:互联网 发布:代购记录软件 编辑:程序博客网 时间:2024/03/29 23:18
类似于百度的搜索引擎模糊查询功能,不过百度的模糊查询功能更强大,这里简单实现下.
要实现模糊查询,首先要做的就是把SQL写好。话不多少,直接贴代码了!
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> <base href="<%=basePath%>"> <title>My JSP 'search.jsp' starting page</title> <meta http-equiv="pragma" content="no-cache"><meta http-equiv="cache-control" content="no-cache"><meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"><meta http-equiv="description" content="This is my page"> <script type="text/javascript" src="prototype.js"></script> <style type="text/css"> body{font:11px arial;} #suggest{ position:absolute; background-color:#FFFFFF; text-align: :left; border: 1px solid #000000; display: none; } </style><script type="text/javascript"> function searchSuggest(){ var url="Search"; var txtSearch=$F("txtSearch"); var pars='txtSearch='+txtSearch; var searchAjax=new Ajax.Request( url, { method:'get', //get方式提交 parameters:pars, //提交参数 onComplete:processRequest } ); } function processRequest(req){ var sobj=$("suggest"); sobj.innerHTML=""; var str=req.responseText.split("-"); var suggest=""; if(str.length>0&&str[0].length>0){ for(i=0;i<str.length;i++){ suggest+="<div>"+str[i]+"</div>"; } sobj.innerHTML=suggest; $("suggest").style.display="block"; }else{ $("suggest").style.display="none"; } }</script> </head> <body> <h3>Ajax自动搜索提示</h3> <div style="width:500px"> <form action="" id="formSearch"> <input type="text" id="txtSearch" name="txtSearch" onkeyup="searchSuggest()"autocomplete="off"/> <input type="submit" id="cmdSerach" name="cmdSearch" value="搜索"/><br/> <div id="suggest" style="width:200px"></div> </form> </div> </body></html>
Sevlet类:
package servlet.ajax;import java.io.IOException;import java.io.PrintWriter;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;public class Search extends HttpServlet {public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException { request.setCharacterEncoding("UTF-8"); response.setCharacterEncoding("UTF-8"); String req=request.getParameter("txtSearch"); PrintWriter out = response.getWriter(); SearchDao sd=new SearchDao(); sd.getText(req); StringBuffer sb=sd.getText(req); out.print(sb.toString()); out.flush();}}
进行连接数据库,模糊查询的JAVA类:
package servlet.ajax;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import java.util.ArrayList;import java.util.List;public class SearchDao {public StringBuffer getText(String req){//首先定义下连接数据的URL、用户名、密码String url="jdbc:oracle:thin:@127.0.0.1:1521:orcl";String user="scott";String password="yulei123";String sql="select ename from emp a where a.ename like ?";if(req.trim().length()==0){ sql=sql+" and 1<>1";}List strList=new ArrayList(); try {Class.forName("oracle.jdbc.driver.OracleDriver");Connection con=DriverManager.getConnection(url,user,password);PreparedStatement pre=con.prepareStatement(sql);pre.setString(1,"%"+req.toUpperCase().trim()+"%");ResultSet rs=pre.executeQuery();while(rs.next()){String ename=rs.getString("ename");strList.add(ename);}} catch (ClassNotFoundException e) {e.printStackTrace();} catch (SQLException e) {e.printStackTrace();}StringBuffer sb=new StringBuffer();int size=strList.size();for(int i=0;i<size;i++){sb.append((String)strList.get(i)+"-");}return sb;}}
代码写好后,就可以在文本框输入字母后就可以模糊查询出数据了!
0 0
- Ajax 模糊查询的简单实现
- 简单的模糊查询
- 利用Ajax Toolkit的AutoComplete实现模糊查询
- ajax实现模糊查询(关键字描红)
- UISearchBar和UITableView实现简单的模糊查询
- 用Criteria进行模糊查询实现简单的搜索功能
- 用Criteria进行模糊查询实现简单的站内搜索功能
- MySQL简单实现多字段模糊查询
- spring-mybatis实现简单模糊查询
- 实现模糊查询的方法
- Oracle模糊查询的实现
- jQuery实现的模糊查询
- ajax模糊查询
- Oracle模糊查询之(1.1模糊查询的语法一)Oracle模糊查询的实现
- 简单的过滤器模糊查询方法
- SSM框架 用ajax实现模糊查询分页和列表
- ajax实现动态从数据库模糊查询显示到下拉框中(ajax方法返回Dataset的例子)
- ajax实现动态从数据库模糊查询显示到下拉框中(ajax方法返回Dataset的例子)
- C++内存泄露 与野指针
- 心得常用命令
- 外部导入导出mysql的.sql文件
- cap_ffmpeg.o error 安装opencv 2.3.1
- 直接使用id操作dom与getElementById 区别
- Ajax 模糊查询的简单实现
- 那些只有码农才懂的段子
- jsp页面下拉框,单选框,复选框默认选中问题
- struts2 中ognl的使用
- UML_静态图
- core java之Comparable 与Comparator接口比较
- OM销售-wsh_delivery_details.released_status
- [LeetCode] Max Points on a Line
- 与size_t有关的C语言编程失误——memset,memcpy系列函数使用陷阱