整体思路:在登陆之后才能查看自己的电话本,电话本中包含用户名,联系人名字,电话,性别,分类;
1、登陆注册页面--数据库User表,注册登陆使用
2、电话本的前段显示,用表格和表单,
3、创建存取的电话本的表的类,实现各种setget方法及构造方法
4、电话本需要查询,删除,添加,修改的功能,创建java文件实现这些方法
5、创建各种方法的servlet,实现这些功能,
注意:进行非空验证,还有就是在电话本的存储的表中要有隐藏的id,通过前台传入id,作为主键去判断实现那些方法,在登陆之后要注意接收登录时的用户名,
需要用到的还有就是js中的点击事件等等
gettimestamp:时间戳,表示出日期和时间
1、在前段显示表格
欢迎, [<%=username%>]
<a href="login.jsp">重新登录</a>
<a href="register.jsp">新用户注册</a>
<hr>
<h2>添加(或者修改)联系人信息</h2>
<form id="addOrUpdateForm" action="InsertOrUpdateContactServlet"
method="post">
<input type="hidden" name="id" />
<table>
<tr>
<td>联系人名称:</td>
<td><input type="text" name="cname" /></td>
</tr>
<tr>
<td>电话:</td>
<td><input type="text" name="tel" /></td>
</tr>
<tr>
<td>性别:</td>
<td><select name="sex">
<option value="">未选择</option>
<option value="男">男</option>
<option value="女">女</option>
<option value="其他">其他</option>
</select></td>
</tr>
<tr>
<td>分组:</td>
<td><select name="tcgroup">
<option value="">未选择</option>
<option value="同事">同事</option>
<option value="朋友">朋友</option>
<option value="同学">同学</option>
<option value="家人">家人</option>
</select></td>
</tr>
<tr>
<td><input type="submit" value="保存"></td>
<td><input type="reset" value="重置" /></td>
</tr>
</table>
</form>
<hr>
<h2>查询联系人</h2>
<form action="ShowIndexContactServlet" method="post">
<input type="hidden" name="isSearch" value="do" /> 联系人名称:<input
type="text" name="cname" /> 电话:<input type="text" name="tel" /> 性别:
<select name="sex">
<option value="">未选择</option>
<option value="男">男</option>
<option value="女">女</option>
<option value="其他">其他</option>
</select> 分组: <select name="tcgroup">
<option value="">未选择</option>
<option value="同事">同事</option>
<option value="朋友">朋友</option>
<option value="同学">同学</option>
<option value="家人">家人</option>
</select> <input type="submit" value="查询" /><input type="button"
id="btn_delMultiple" value="删除选中记录" οnclick="confirmMultiDel()" />
</form>
<hr>
//在表格内输出
<%
List<ContactBook> cbList = (List<ContactBook>) session.getAttribute("cbList");
if (cbList != null && cbList.size() > 0) {
out.print("<table style='text-align:center;' width='60%' border=1 cellpadding=0 cellspacing=0>");
out.print("<tr><td>名称</td><td>电话</td><td>分组</td><td>性别</td><td>添加时间</td><td>管理</td>"
+ "<td><input id='leader' type='checkbox' /></td></tr>");
for (ContactBook c : cbList) {
out.print("<tr>");
out.print("<td>" + c.getName() + "</td>");
out.print("<td>" + c.getTel() + "</td>");
out.print("<td>" + c.getTcgroup() + "</td>");
out.print("<td>" + c.getSex() + "</td>");
out.print("<td>" + DateConvertor.putDate2String(c.getAddtime()) + "</td>");
out.print("<td><a href='DeleteContactBook?ids=" + c.getId()
+ "' οnclick='return confirmDel()'>删除</a> " + "<a href='#' οnclick='loadFormData(\""
+ c.getId() + "\", \"" + c.getName() + "\", \"" + c.getTel() + "\", \"" + c.getSex()
+ "\",\"" + c.getTcgroup() + "\")'>修改</a></td>");
out.print("<td><input type='checkbox' name='select' value='" + c.getId() + "' /></td>");
out.print("</tr>");
}
out.print("</table>");
} else {
out.print("<h1>没有记录 !</h1>");
}
%>
<script type="text/javascript">
// 点击修改时执行的事件, 将form表单填充
function loadFormData(id, cname, tel, sex, tcgroup) {
var formData = document.getElementById("addOrUpdateForm");
formData.id.value = id;
formData.cname.value = cname;
formData.tel.value = tel;
formData.tcgroup.value = tcgroup;
formData.sex.value = sex;
}
// 单条记录删除的确认
function confirmDel() {
var r = confirm("确定要删除这条记录吗 ?");
if (r) {
return true;
}
return false;
} // 多条记录删除的确认
function confirmMultiDel() {
var objs = document.getElementsByName("select");
var arrayCheck = [];
for (var i in objs) {
if (objs[i].checked) {
arrayCheck.push(objs[i].value);
}
}
if(arrayCheck.length > 0) {
var cf = confirm("选中了" + arrayCheck.length + "条数据, 确定删除吗 ?");
if (cf) {
window.location.href = "DeleteContactBook?ids=" + arrayCheck;
// 1,2,3,4,5
}
} else {
alert("未选中任何记录 !");
}
} // 点击复选框, 全选列表
document.getElementById("leader").onclick = function() {
var t = document.getElementById("leader").checked;
var objs = document.getElementsByName("select");
for (var i = 0; i < objs.length; i++) {
objs[i].checked = t;
}
}
</script>