首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Javaweb-案例练习-2-给搜索框添加提示

Javaweb-案例练习-2-给搜索框添加提示

原创
作者头像
凯哥Java
修改于 2019-07-26 01:24:39
修改于 2019-07-26 01:24:39
1.3K0
举报
文章被收录于专栏:凯哥Java凯哥Java

给搜索框添加搜索提示功能

这篇来利用Ajax做一个给搜索框添加搜索提示的功能,这个我们在百度首页,搜索框随便输入一个字符,就能弹出联想自动,可供用户选择,这篇要做的就是这么一个场景。

1. 需求

添加描述

就是这么一个功能。

2. 文件准备

需求中这个index.jsp中的搜索在我们原来项目中没有这个代码,所以这里先把这个素材拷贝进来。(具体素材在我这个项目github上有)

添加描述

本篇主要是index.jsp和menu_search.jsp这两个文件。在index.jsp中静态包含了menu_search.jsp,代码中,这行代码就是我们前面学习JSP指令学习过的静态包含,是在JSP转换Servlet时引入的文件。

3. 给搜索框添加信息提示框

在mene_search.jsp中,给搜索框先整出一个div框来,宽度和搜索框的宽度一样,为了显示明显,先来给边框添加红色。

在menu_serch.jsp文件底部,添加一个div,代码如下。

<div id="context1" style="border:1px solid red;background-color:white;width:126px;height:100px; position:absolute;left:860px;top:135px;">

</div>

浏览器刷新,看看效果。

添加描述

4. 创建一个空的servlet文件

先创建一个SearchBookAJAXServlet.java,对应的url映射是/searchBookAJAXServlet

这部分代码后面来写。

5. Dao层代码

在BookDao接口文件中,最底部添加这个代码

public List<Object> searchBookByName(String name) throws SQLException;

在BookDaoImpl.java添加对应的具体方法实现代码。

public List<Object> searchBookByName(String name) throws SQLException {

QueryRunner qr = new QueryRunner(C3P0Utils.getDataSource());

return qr.query("select name from book where name like ?", new ColumnListHandler<Object>(), "%" +name+"%");

}

6. Service层代码

接着写BookService.java中代码,末尾新增以下代码。

public List<Object> searchBookByName(String name);

然后具体实现代码,在BookServiceImpl.java中末尾添加以下代码。

public List<Object> searchBookByName(String name) {

try {

return bd.searchBookByName(name);

catch (SQLException e) {

e.printStackTrace();

}

return null;

}

7. Servlet文件具体代码

下面是SearchBookAJAXServlet.java的完整代码。

8. 部署测试

部署到tomcat,重启tomcat服务。浏览器打开servlet地址,看看效果

添加描述

这里我数据库看看是不是只有一个j开头的,这样我数据库book表再添加一个javascript看看。

添加描述

这样就是说明代码没有问题了。

9. AJAX查询结果显示在div框中

下面我们来编辑menu_search.jsp文件,这里把文章开头写死div高度给删除,新加了AJAX这一套代码,代码修改如下。

刷新浏览器,看看/index.jsp效果,搜索框输入一个J看看,div框提示的效果。

添加描述

到这里,还有问题没有解决,那就是点击div中提示,不能点击,我们需要点击之后,自动填充到search框。

10. Div中name鼠标悬停变颜色

就是在div提示的name,鼠标悬停,会自动变颜色,例如变成灰色,离开name区域变成原来的白色,来看看这个怎么实现。

上面改动地方在changeBackground_over(div) 和changeBackground_out(div)

刷新浏览器,看看效果。

添加描述

鼠标悬停变成灰色,鼠标离开变成白色,对比看看上面改动的两个这个动作的function就明白了。

11. 解决点击搜索按钮,填充到搜索框

上面为止,我们做到了颜色变化,但是没有点击效果,而且 搜索框不输入的时候,默认div显示的是数据库中全量数据的图书name,这肯定不行。下面代码调整之后,可以点击填充到搜索框,和解决这个搜索框不输入任何字符,提示全量name这个问题。

关于这个代码最后div中,left和top的位置问题,会随着不同浏览器和不同分辨率,这个红色的div框位置有点偏移,这个问题,就不管了。

项目全部代码请看github:

这篇代码的commit message为 “搜索框提示并点击填充完成 ”

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Javaweb-案例练习-2-给搜索框添加提示
这篇来利用Ajax做一个给搜索框添加搜索提示的功能,这个我们在百度首页,搜索框随便输入一个字符,就能弹出联想自动,可供用户选择,这篇要做的就是这么一个场景。
凯哥Java
2022/12/15
1.2K0
Javaweb-案例练习-2-给搜索框添加提示
JavaWeb学习-案例练习-图书管理后台- 9 -分页操作
前面一篇完成了多条件的查询,这篇开始学习分页,很多网页是默认显示20条数据,想看更多数据,就通过点击下一页的方式实现。这篇就来模拟这个分页实现过程。
凯哥Java
2019/07/06
7710
Javaweb-案例练习-3-JSON对象
前面一篇我们查找的图书的name都是通过逗号隔开,然后拼接成一个字符串传给浏览器。其实我们可以把多个图书名称用数组格式传给浏览器,前端JS代码通过遍历这个数组,也是可以拿到这些name数据。现在,我们一般不用数组,而是用JSON这格式。本篇就来看看JSON是如何解决上一篇字符串传给浏览器的代码,以及JSON对象中常见的操作。
凯哥Java
2019/07/30
8060
Javaweb-案例练习-3-JSON对象
Web-第十五天 Ajax学习【悟空教程】
在实际开发中,完成注册功能前,如果用户填写用户信息,准备填写其他信息时,将提示当前用户的用户名是否可用。效果图如下:
Java帮帮
2018/07/27
1.7K0
Web-第十五天 Ajax学习【悟空教程】
day16_ajax学习笔记
JavaScript 中 XMLHttpRequest对象是整个Ajax技术的核心,它提供了异步发送请求的能力。
黑泽君
2018/10/11
1.2K0
day16_ajax学习笔记
JavaWeb17-案例之ajax(Java真正的全栈开发)
案例 & ajax 一.案例 1. 生成订单操作分析 先看下订单页面: 分析下订单表需要那些字段 id 收货人(receiverName) 收货地址(receiverAddress) 收货人电话(receiverPhone) 总计(totalPrice) 分析下表之间的关系 这里面涉及到三张表,分别是用户表,订单表,商品表.他们之间的关系为 用户表和订单表之间是一对多的关系 订单表和商品表之间是多对多的关系 表的设计: 在订单表中添加一个用户id,表示用户和订单的关系 添加一张中间表,表示订单和商品
Java帮帮
2018/03/19
1.4K0
JavaWeb17-案例之ajax(Java真正的全栈开发)
Web-第二十二天 Web商城实战二【悟空教程】
`cname` varchar(20) DEFAULT NULL, #分类名称
Java帮帮
2018/07/27
1.2K0
Web-第二十二天 Web商城实战二【悟空教程】
Javaweb-案例练习-1-验证邮箱是否存在
前面我们做了一个AJAX练习,就是验证用户名是否存在,现在回到我们的图书管理系统,来写一个如何验证邮箱是否存在的。还是接着之前图书管理后台和前台这个项目,现在是在register.jsp的页面的邮箱验证。
凯哥Java
2022/12/15
5420
Javaweb-案例练习-1-验证邮箱是否存在
Ajax+Servlet实现智能搜索框
前端代码: <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content=
技术从心
2019/08/06
1K0
Ajax+Servlet实现智能搜索框
JavaWeb使用德鲁伊(略)实现登录、激活码注册(发送激活码到邮箱,点击激活链接后,才能正常登陆)、注册界面
1.注册–>2.注册页面–>3.(注册完点击提交到)激活界面–>点击激活链接可以到邮箱界面,从接收到的邮件里面点击立即激活 / 或者自己打开邮箱,从接收到的邮件里面点击立即激活
2020/10/23
1.3K0
JavaWeb使用德鲁伊(略)实现登录、激活码注册(发送激活码到邮箱,点击激活链接后,才能正常登陆)、注册界面
Javaweb-案例练习-1-验证邮箱是否存在
前面我们做了一个AJAX练习,就是验证用户名是否存在,现在回到我们的图书管理系统,来写一个如何验证邮箱是否存在的。还是接着之前图书管理后台和前台这个项目,现在是在register.jsp的页面的邮箱验证。
凯哥Java
2019/07/25
1K0
Javaweb-案例练习-1-验证邮箱是否存在
Jsp开发模式及MVC模型的使用
思路和原理是最重要的:我们在Dao的前面加入一个业务逻辑服务层(Service),这是由于Dao在实际开发中只做一件事情那就是数据库CURD,而我们为了开发的规范将服务层放置于Servlet与Dao之间,比如下图所示(重点);
全栈工程师修炼指南
2020/10/23
2K0
Jsp开发模式及MVC模型的使用
图书管理系统【部署开发环境、解决分类、图书、前台页面模块】
前言 巩固Servlet+JSP开发模式,做一个比较完整的小项目. 成果图 该项目包含了两个部分,前台和后台。 前台用于显示 后台用于管理 该项目可分为5个模块来组成:分类模块,用户模块,图书模块,购
Java3y
2018/03/15
1.7K0
图书管理系统【部署开发环境、解决分类、图书、前台页面模块】
javaweb案例实训之基于jsp和servlet的用户管理开发
案例代码:https://github.com/yangsir1688/controlManagerPage/tree/master/jlnk-school/demo-case
杨校
2019/06/13
1.3K0
图书系统优化分页与搜索跳转
在servlet中获取jsp中输入的条件(书名称,作者),并且将它们放入request域中(servlet跳转至booklist时,在booklist中获取request域中的数据来拼接到a标签后面进行查询满足条件的书籍数据) //获取页码和页大小
2020/10/23
7050
图书系统优化分页与搜索跳转
JavaWeb练习之使用filter实现自动登陆
本篇来做一个Filter的练习题,就是网站自动登录的,这个自动登录,我们在学习cookies的时候做过,这次使用Filter来做一遍。
凯哥Java
2019/08/14
5350
JavaWeb练习之使用filter实现自动登陆
ajax+servlet实现百度智能提示搜索框--来自慕课课程
查看Demo /** * @author xiaohejun * Man Always Remember Love Because of Romance Only. * */ 一.实现效果
xiaohejun
2020/02/17
6230
Web-第二十三天 Web商城实战三【悟空教程】
Web-第二十三天 Web商城实战三【悟空教程】 网上商城实战三 今日内容介绍 订单管理/我的订单 订单管理/订单详情 订单管理/在线支付 权限过滤器 后台页面搭建 后台分类管理 后台商品管理 项目
Java帮帮
2018/07/27
9850
Web-第二十三天 Web商城实战三【悟空教程】
JavaWeb后端入门12—分页
用户6948990
2025/04/03
1010
[Java面试三]JavaWeb基础知识总结.
1.web服务器与HTTP协议 Web服务器 l WEB,在英语中web即表示网页的意思,它用于表示Internet主机上供外界访问的资源。 l Internet上供外界访问的Web资源分为: • 静态web资源(如html 页面):指web页面中供人们浏览的数据始终是不变。 • 动态web资源:指web页面中供人们浏览的数据是由程序产生的,不同时间点访问web页面看到的内容各不相同。 l 静态web资源开发技术 • Html l 常用动态web资源开发技术: • JSP/Servlet、ASP、PHP等 
一枝花算不算浪漫
2018/05/18
1.9K0
推荐阅读
相关推荐
Javaweb-案例练习-2-给搜索框添加提示
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档