web通讯录之通讯录主界面

界面展示:

界面所用的素材网址点击打开链接,在用网上素材时候首先要把代码看懂才能进行修改,因此希望读者好好看看源码,看的时候着重看看字母排序原理、JQuery设计等等。

分组展示:这个地方有个不好的地方,由于我设计的数据库的主键用的是自增主键因此允许分组重复的情况,所以代码中用了ajax对添加的分组名进行判断是否出现重名情况,这种方法还是存在许多问题是最笨的办法,后来想想在分组表中采用联合组件的方式更好,把分组名和联系人ID以及用户账户绑定在一起组成联合组件的方法可以避免上述问题,不知道联合主键可以参考博客文章,希望你能够用这种办法实现多对多的关系而不是像我用这么笨的办法。


添加分组:


按钮:...

代码:

<%@ 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>


  • 3
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值