web通讯录之搜索功能

手机号搜索:

姓名搜索:

拼音搜索:

城市搜索:

性别搜索:

点击姓名或者电话显示完整信息

相信大家期待自己所写的搜索功能类似于百度、谷歌这种搜索引擎,有兴趣的读者可以去学学SEO,在这里我用的仍然是我们常见的搜索功能,只不过是把多种搜索综合在一起,也就是设置一个优先级搜索,例如当用户输入WJ时候,默认先找电话、再找姓名、最后找姓名等等,当然居然是搜索功能当然要用到我们伟大的ajax了,相信用ajax比较容易但是自己通过ajax从服务器像客户端传值比较麻烦,由于我们搜索显示的用户信息有很多,因此我们可以把它封装成JSON数据传到客户端然后再调用把结果输出显示,由于自己不想操作那么麻烦,因此我把显示搜索结果的信息在另外一个页面中显示出来,也就是在通讯录页面进行搜索在ajaxshow.jsp用户显示搜索结果,好了,废话不多说上代码。

tongxunlu.jsp代码:

<%@ page language="java" import="com.student.servlet.*" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%>
<%@page import="java.util.*" import="com.student.vo.User"%>
<!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="text/html; charset=UTF-8">
<title>通讯录</title>
<link rel="stylesheet" href="css/style.css">
<script type="text/javascript" src="js/jquery-1.8.3.min.js"></script>
<script type="text/javascript" src="js/jquery.charfirst.pinyin.js"></script>
<script type="text/javascript" src="js/sort.js"></script><%Vector<User> vector=new Vector<User>();vector=(Vector<User>)request.getAttribute("name");User user=(User)request.getSession().getAttribute("myself");Set<String> set=new HashSet<String>();set=(Set<String>)request.getAttribute("group");%>
<style>input {border: 2px solid #7BA7AB;border-radius: 5px;}
</style>
</head>
<body> 
<script type="text/javascript">
$(document).ready(function(){var $div4=$("#sum");var $div3=$("#cc3");$div4.hide();$div3.hide();$("#c1").click(function(){$div4.toggle(500); });$("#c2").click(function(){;$div3.toggle(500); });
});
</script>
<script type="text/javascript">var xmlHttp;function createXMLHttp(){xmlHttp=new XMLHttpRequest();  }function f(id){createXMLHttp();xmlHttp.open("POST","studentFind?username=<%=user.getId()%>&id="+id);xmlHttp.onreadystatechange=showMsgCallback;xmlHttp.send(null);	}function showMsgCallback(){if(xmlHttp.readyState==4){if(xmlHttp.status==200){var text=xmlHttp.responseText;document.getElementById("mark").innerHTML=text;}}} function f1(id){createXMLHttp();xmlHttp.open("POST","FindGroupName?username=<%=user.getId()%>&id="+id);xmlHttp.onreadystatechange=showMsgCallback1;xmlHttp.send(null);	}function showMsgCallback1(){if(xmlHttp.readyState==4){if(xmlHttp.status==200){var text=xmlHttp.responseText;if(text=="yes");else alert("分组名存在");}}} 
</script>
<form id="fy" action="studentFind?" method="post"><input name="find" id="find" οnkeyup="f(this.value)"style="width:300px;height:30px; redius:1px;"type="text" placeholder="请输入查找的联系人"/> <img style="width:20px;"alt="" src="img/search.png"><a href="javascript:window.location.href='tianjia?id=<%=user.getId()%>'"><img style="width:20px;"alt="" src="img/useradd.png"></a><a href="javascript:window.location.href='tiaozhuan.jsp'"><img style="width:20px;"alt="" src="img/exit.png"></a><span id="mark"></span>
</form><div class="gongneng"><a href="myself.jsp"><div class="page"><img style="width:50px;height: 50px;" src="img/xiaomai.jpg" alt=""></div><div >我的名片</div></a></div>
<div class="gongneng"><div class="page"><img style="width:50px;height: 50px;"src="img/katongman.jpg" alt=""></div><span id="c1">我的分组</span>     <a id="c2"><img alt="" src="img/tianjia.png"></a>   <a οnclick="javascript:alert('该功能还未完善,敬请期待!')"><img alt="" src="img/delete.png"></a></div>
<div id="cc3"class="gongneng"><div class="page"><img style="width:50px;height: 50px;"src="img/katongman.jpg" alt=""></div><form action="addgroup?id=<%=user.getId() %>" method="post"><input id="newGroupName" name="newGroupName" type="text" οnblur="f1(this.value)" placeholder="请输入分组名" /><input type="submit" value="添加"><span style="color:red;" id="testName"></span></form></div>
<div id="sum">
<%for(String name:set){ %>
<div id="cc" class="gongneng"><a href="ceshi?id=<%=name%>&username=<%=user.getId()%>"><div class="page"><img style="width:50px;height: 50px;"src="img/katongman.jpg" alt=""></div><div id="name11"><%=name %></div></a>
</div>
<%} %>
</div>
<div class="sort_box"><%int k=7;for(int i=0;i<vector.size();i++,k--){if(k<1)k=7;//用来输出图片%>	<div class="sort_list"><a href="findAllServlet?id=<%=vector.get(i).getId()%>"><div class="num_logo"><img src="img/<%=k %>.jpg" alt=""></div><div class="num_name"><%=vector.get(i).getName()%></div></a></div>		<%} %></div>
<div class="initials"><ul><li><img src="img/068.png"></li></ul>
</div>
</body>
</html>
ajaxshow.jsp代码:

<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%>
<%@ page import="java.util.*" import="com.studen.servlet.*" import="com.student.vo.*"%>
<!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="text/html; charset=UTF-8">
<title>局部显示页面</title>
</head>
<body>
<%request.setCharacterEncoding("utf-8");Set<people> set = new HashSet<people>();set=(Set<people>)request.getAttribute("rs"); 
/* 	Vector<User> rs=new Vector<User>();rs=(Vector<User>)request.getAttribute("rs"); */%><div style="border:3px solid ">
<% for(people user:set) {%>
<ul style="background:white; width:300px;">
<li><a style="margin-top:40px;font-size:20px;color:black; font-family:Times New Roman;" href="findAllServlet?id=<%=String.valueOf(user.getId())%>">   <%=user.getName()%>   <%=user.getTel()%>
</a></li>
</ul>
<%} %>
</div>
</body>
</html>
servlet代码太多就没有粘贴了。


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/509866.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

opengl多重纹理映射

关于多重纹理:首先如果一个显卡支持多重纹理,表示它可以将几次渲染合为一次来进行,在这个渲染过程中,你可以在不同的纹理单元分别放入第0次,第1次,第2次需要渲染的对象.当程序向屏幕绘图时,将这些渲染结果叠加起来,将最终结果显示到屏幕.每个纹理单元对应有其纹理环境,这个纹理…

Hbase 删表过程

Hbase 执行删表命令后(drop)&#xff0c;表的数据会移动到 /hbase/archive 目录下&#xff0c;并不会直接从hdfs删除&#xff0c;后台会有进程定期去检查&#xff08;默认五分钟&#xff09;&#xff0c;如果这张表没有快照则会删除&#xff0c;有快照会保留数据。 刚drop时&a…

web通讯录常见问题解答以及增加个性功能

由于时间原因&#xff0c;还有很多功能并没有完善&#xff0c;在前面的两篇博文中仅仅给出了部分页面的代码&#xff0c;服务器端的代码没有粘贴出来&#xff0c; 还未完善的部分&#xff0c;1.过滤器&#xff1a;只有在用户登录完之后才显示主界面&#xff0c;这部分我知道怎…

opengl纹理单元

可以这样简单的理解为&#xff1a;显卡中有N个纹理单元&#xff08;具体数目依赖你的显卡能力&#xff09;&#xff0c;每个纹理单元&#xff08;GL_TEXTURE0、GL_TEXTURE1等&#xff09;都有GL_TEXTURE_1D、GL_TEXTURE_2D等&#xff0c;如下代码&#xff1a; [cpp] view plain…

Spark 创建 hive表报错 ROW FORMAT DELIMITED is only compatible with 'textfile', not 'parquet'

场景&#xff1a; 在spark分析数据时&#xff0c;创建hive表失败。 提示异常 &#xff1a; 19/10/09 10:59:18 INFO execution.SparkSqlParser: Parsing command: CREATE EXTERNAL TABLE IF NOT EXISTS dm_xxx.user_area(biFollowersCount String,city String,created_at Str…

web登录时候加入过滤器的用法

有关过滤器的讲解我就不多加说明了&#xff0c;想要了解的可以自行看博文&#xff0c;写的很详细。 首先说说我想实现的功能&#xff0c;做学生信息管理系统的时候当用户注销后&#xff0c;虽然界面跳转到登录界面但当我们在地址栏中输入主界面地址还是跳转到主界面&#xff0…

多重纹理和纹理组合器

多重纹理和纹理组合器 本文主要介绍OpenGL中两种技术的使用方法&#xff1a;多重纹理技术和纹理组合器技术&#xff0c;最终根据参考【2】中的代码&#xff0c;实现了两个简单的演示DEMO&#xff0c;其中使用到了《八叉树颜色量化、BMP、TGA文件解析》篇章中提供的图像解析类。…

ClouderaManager agent 报错,无法连接到结群 Error, CM server guid updated, expected xxx , received xxx

场景 集群版本&#xff1a;CDH 6.0.1 服务器版本&#xff1a;Centos 7.3 JAVA版本&#xff1a;1.8 异常出现原因 搭建集群中遇到异常&#xff0c;删除agent节点&#xff0c;重新部署CM后发现异常&#xff0c;CDH处于无法使用状态 异常 查看agent日志会出现,说无法连接到…

1192 约瑟夫问题(1)

1192 约瑟夫问题&#xff08;1&#xff09; Time Limit : 2000/1000 MS(Java/Others) | Memory Limit :65536/32768 KB(Java/Others) Submits : 1235 | Solved : 716 Description 模拟这个游戏。有n个人围成一圈&#xff0c;从第一个人开始沿顺时针方向报数&#xff08;从1到3…

CDH Kerberos 认证下Kafka 消费方式

集群Kerberos认证安装参考&#xff1a;https://datamining.blog.csdn.net/article/details/98480008 目录 环境&#xff1a; 配置 Java Producer 代码 文件内容&#xff1a; kafka_client_jaas.conf krb5.conf ( kerberos 配置文件复制过来即可) kafka.keytab Java Co…

glsl基础

目录[-] 变量 基本类型 结构体 数组 修饰符 内置变量 表达式 操作符 数组访问 构造函数 成分选择 控制流 循环 if/else discard 函数 变量 GLSL的变量命名方式与C语言类似。变量的名称可以使用字母&#xff0c;数字以及下划线&#xff0c;但变量名不能以数字开头&#xff0c;还…

1260 不一样的A+B

1260 不一样的AB Time Limit : 2000/1000 MS(Java/Others) | Memory Limit :65536/32768 KB(Java/Others) Submits : 641 | Solved : 357 Description 读入两个小于100的正整数A和B&#xff0c;计算AB的值并输出。需要注意的是&#xff1a;整数A和B的每一位数字由对应的英文单…

IntelliJ IDEA Maven jar包冲突解决,快速发现jar包冲突

IntelliJ IDEA 自带的Diagrams 去查看jar包冲突相当费劲 ~ &#xff0c;安装个插件即可快速解决该问题 打开Settings&#xff0c;搜索maven helper&#xff0c;并安装 安装完成后&#xff0c;直接打开pom文件&#xff0c;点击Dependency Analyzer 删除冲突jar包&#xff0c;在…

GLSL学习教程博客

http://blog.csdn.net/racehorse/article/details/6593719

1185 城市名排序

1185 城市名排序 Time Limit : 2000/1000 MS(Java/Others) | Memory Limit :65536/32768 KB(Java/Others) Submits : 3989 | Solved : 2049 Description 从键盘输入n个城市名&#xff0c;进行升序排序并输出。 Input 第一行输入一个整数n&#xff0c;表示有n个城市&#xff0…

osg基本图元

OSG绘制几何体学习总结&#xff08;超全&#xff09;在osg中&#xff0c;场景图形采用一种自顶向下的&#xff0c;分层的树状数据结构来组织空间数据集&#xff0c;以提高渲染的效率 场景图形树结构的顶部是一个根节点&#xff0c;从根节点向下延伸&#xff0c;各个组节点中均包…

kafka如何彻底删除topic及数据

前言&#xff1a; 删除kafka topic及其数据&#xff0c;严格来说并不是很难的操作。但是&#xff0c;往往给kafka 使用者带来诸多问题。项目组之前接触过多个开发者&#xff0c;发现都会偶然出现无法彻底删除kafka的情况。本文总结多个删除kafka topic的应用场景&#xff0c;总…

如何用css设计出商品购物图片

代码&#xff1a; 常见问题&#xff1a;背景填充时候图片大小不一致、重复等等问题&#xff0c;建议在插入图片的时候最好不用img标签直接在div中添加背景图片&#xff0c;有利于对背景图片的更改。 插入图片&#xff1a;background-image: url(../img/product-auto/benz-amg-s…

OLTP、OLAP与HTAP 区别

OLTP On-Line Transaction Processing联机事务处理过程(OLTP) 也称为面向交易的处理过程&#xff0c;其基本特征是前台接收的用户数据可以立即传送到计算中心进行处理&#xff0c;并在很短的时间内给出处理结果&#xff0c;是对用户操作快速响应的方式之一。 这样做的最大优点…

osg布告板技术(Billboard)

公告牌技术,即billboard技术,在3D游戏中有着广泛的应用.它的本质就是用预先做好的几幅 位图来代替3D物体,极大地节省资源和提高速度.仔细观察<<魔法门>>系列游戏,它的精灵,树木,物 品都是二维图象,但由于它始终朝向观察者,你根本看不到它"扁"的一面,所以…