java 搜索框_java简单的实现搜索框的下拉显示相关搜索功能

最近做了一个简单的搜索框下面下拉显示相关搜索的功能,有点模仿百度的下拉展示相关搜索

先上个展示图 :

6c746fd1667917c7046d4768289368dc.png

搜索框相关搜索的展示很简单,就是根据你的搜索词,去数据库中匹配,是否有类似的搜索词存在,按照搜索词被搜索的次数进行排序显示出来

我设计的是每次搜索一个词,提交之后都会去数据库进行查询,看是否存在这个搜索词的搜索,若存在,则对数据库中的这个搜索词对象进行次数加1,不存在,则创建这个新搜索词对象,保存在数据库中,定义搜索次数为1

每次提交搜索都会将搜索词进行保存或次数加1,方便下次显示相关搜索

1 publicString soso(){2 if(search!=null){3 searchBiz.addSearch(search);//存储搜索对象或对搜索对象的搜索次数+1

4 }5 return "soso";6 }7 public String getRelativeSearch() throws UnsupportedEncodingException{//根据搜索词内容得到相关的搜索对象

8 content = URLDecoder.decode(content,"utf-8");//url解码,将其还原成中文等内容

9 String ss = content.replaceAll("(?s)(.)(?=.*\\1)", "");//这个方法是网上查的,删除字符串里面重复出现的字符内容,我在这边设计,主要就是为了排除%的影响,会匹配到所有内容

10 if(content!=null&&!content.equals("")&&!ss.equals("%")){//即如果搜索词全部是由百分号组成,则去查询相关的搜索词

11 searchs = searchBiz.getRelativeSearch(content);//得到相关的搜索词对象,最多显示10个

12 }13 return "searchs";14 }

还有就是页面上方法的监听,在什么时候会显示下拉框内容,什么时候会隐藏下拉框内容,我简单参考了下百度的设计,并用自己的方法实现,可能真实设计上会有出入。一开始,我设计的是onchange监听,但发现onchange只有在失去焦点并且改变内容才会触发,后来改为了onkeyup来监听搜索框的内容,即键盘释放后,去数据库查询得到相关的搜索词对象。

1

2

3

4 ">5

6

7

8

9

10 搜索

11

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值