JAVAWeb搜索时自动补全和模糊查询

 

1.搜索自动补全

      JAVAWeb搜索时自动补全和模糊查询_第1张图片

 (1)JSP代码

           此处需要导入jquery-ui.css,jquery-3.3.1.min.js,jquery-ui.js这三个文件




 

   搜索框和搜索按钮

 

   (2)Servlet代码

        这里涉及到将JAVA对象数组转换为JSON对象数组,所以需要导入相关的包

       JAVAWeb搜索时自动补全和模糊查询_第2张图片

       关于其他转换可以参考:https://blog.csdn.net/qq_40348465/article/details/83796363

            //获取所有的book信息,此处可以改为直接获取所有的书名
			List books = bookService.getAllBook();
			//获取所有的书名
			String names[] =new String[books.size()];  
			for (int i=0;i

 

2.模糊查询

 (1)JSP中为上面的搜索按钮绑定点击事件

     注意window.location.href中存在中文乱码的问题,所以需要对JSP中的url和Servlet中接收的值均做处理,这里已经处理过了,另一种处理方法可参考:https://blog.csdn.net/qq_40348465/article/details/83870127

function search(){
	 alert("这里是search()函数");
	 var searchtxt = encodeURI(document.getElementById("tags").value) ;
	 searchtxt =  $.trim(searchtxt);
		if (searchtxt != "") {
			 alert("searchtxt:"+searchtxt);
			 window.location.href="GetBook.do?getBookParam=searchByName&searchtxt="+searchtxt;
		}else{
			alert("请输入书名或其关键字");
		}
}

  (2)Servlet代码

  

            String title = request.getParameter("searchtxt");
			String str=new String(title.getBytes("ISO-8859-1"),"UTF-8");
			//String str =  java.net.URLDecoder.decode(title, "utf-8");
			List books = bookService.getBooksByTitle(title);
			request.setAttribute("BOOKS", books);
			request.getRequestDispatcher("bookShow.jsp").forward(request, response);

 

你可能感兴趣的:(JSON,JAVAWeb,AJAX)