Ajax 模糊查询的简单实现
生活随笔
收集整理的這篇文章主要介紹了
Ajax 模糊查询的简单实现
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
類似于百度的搜索引擎模糊查詢功能,不過百度的模糊查詢功能更強大,這里簡單實現下.
要實現模糊查詢,首先要做的就是把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" οnkeyup="searchSuggest()"autocomplete="off"/><input type="submit" id="cmdSerach" name="cmdSearch" value="搜索"/><br/><div id="suggest" style="width:200px"></div></form></div></body> </html>
Sevlet類:
?
進行連接數據庫,模糊查詢的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;} }
代碼寫好后,就可以在文本框輸入字母后就可以模糊查詢出數據了!
?
轉載于:https://www.cnblogs.com/wuyida/p/6300391.html
總結
以上是生活随笔為你收集整理的Ajax 模糊查询的简单实现的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 斗地主Java课程设计_Java课程设计
- 下一篇: 单片机c语言应用100例第3版课后答案,