tomcat,2012-3-22 tomcat+jsp+mysql的分页模糊查询

<%@ page contentType = "text/html" pageEncoding = "GBK"%>
<%@ page import="java.sql.*"%>
<html>
<head>
<title>Emp_Query</title>
<script language="javascript">
function checkPage(f){
if(!/^\d{1,}$/.test(f.currentPage.value)){
alert("页码必须是数字!");
f.currentPage.focus();
f.currentPage.select();
return false;
}
return true;
}
</script>
</head>
<body>
<center>
<%
request.setCharacterEncoding("GBK");
%>
<%!
public static final String DBDRIVER = "org.gjt.mm.mysql.Driver";
public static final String DBURL = "jdbc:mysql://localhost:3306/develop";
public static final String DBUSER = "root";
public static final String DBPASS = "mysql";
public static final int COUNT = 3; //每页显示记录的条数
%>
<%
int currentPage = 1;
int totalPage = -1;
int totalRows = -1;
String totPage = request.getParameter("totalPage");
String currPage = request.getParameter("currentPage");
if(currPage != null && currPage != "" && totPage != null && totPage != ""){
totalPage = Integer.parseInt(totPage);
currentPage = Integer.parseInt(currPage);
if(currentPage>totalPage){
currentPage = totalPage;
}
if(currentPage < 1){
currentPage = 1;
}
}
String keyWord = request.getParameter("keyWord");
if(keyWord == null || keyWord == ""){
keyWord = "";
}
Connection conn = null;
PreparedStatement pstmt = null;
ResultSet rs = null;
String sql ="";
%>
<form action="emp_query.jsp" method="get">
输入模糊查询条件:<input type="text" name="keyWord" value="<%=keyWord%>" />
<input type="submit" value="查询"/>
</form>
<%
try{
Class.forName(DBDRIVER);
conn = DriverManager.getConnection(DBURL,DBUSER,DBPASS);
// System.out.println(conn);
sql = "select empno,ename,job,hiredate,sal,comm from emp;";
pstmt = conn.prepareStatement(sql);
if(keyWord != null || keyWord != ""){
sql = "select empno,ename,job,hiredate,sal,comm from emp where empno like ? or ename like ? or job like ? or hiredate like ? or sal like ? or comm like ?;";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1,"%"+keyWord+"%");
pstmt.setString(2,"%"+keyWord+"%");
pstmt.setString(3,"%"+keyWord+"%");
pstmt.setString(4,"%"+keyWord+"%");
pstmt.setString(5,"%"+keyWord+"%");
pstmt.setString(6,"%"+keyWord+"%");
}
rs = pstmt.executeQuery();
if(rs.next()){ //如果存在记录,先求出记录总数和总的页数,再进行输出表头
rs.last(); //计算总的记录数
totalRows = rs.getRow();
if(totalRows % COUNT==0){
totalPage = totalRows / COUNT;
} else {
totalPage = totalRows / COUNT + 1;
}
%>
<table border="2">
<tr>
<td colspan = "6" align="center">查询结果</td>
</tr>
<tr>
<td>员工编号</td>
<td>员工姓名</td>
<td>员工工作</td>
<td>雇佣日期</td>
<td>基本工资</td>
<td>奖&nbsp;&nbsp;&nbsp;&nbsp;金</td>
</tr>
<%
} else {
%>
记录不存在!
<%
}
rs.beforeFirst(); //回到第一个记录之前
if(rs.next()){ //存在记录进行输出结果
if(currentPage == 1){
rs.beforeFirst();
} else {
rs.absolute((currentPage-1)*COUNT);
}
int i = 0;
while(rs.next() && i < COUNT){
i++;
%>
<tr>
<td><%=rs.getInt(1)%></td>
<td><%=rs.getString(2)%></td>
<td><%=rs.getString(3)%></td>
<td><%=rs.getDate(4)%></td>
<td><%=rs.getDouble(5)%></td>
<td><%=rs.getDouble(6)%></td>
</tr>
<%
}
}
%>
</table>
<%
} catch(Exception e){
e.printStackTrace();
} finally{
conn.close();
}
%>
<%
if(totalPage > 0){
%>
第<%=currentPage%>页,共<%=totalPage%>页
<form action="emp_query.jsp?totalPage=<%=totalPage%>&keyWord=<%=keyWord%>" method="post" _disibledevent=>
跳转到<input type="text" size="1" name="currentPage"/>页
<input type="submit" value="GO"/>
</form><br />
<a href = "emp_query.jsp?totalPage=<%=totalPage%>&currentPage=1&keyWord=<%=keyWord%>">首页</a>&nbsp;&nbsp;&nbsp;&nbsp;
<%
if(currentPage > 1){
%>
<a href = "emp_query.jsp?totalPage=<%=totalPage%>&currentPage=<%=currentPage-1%>&keyWord=<%=keyWord%>">上一页</a>&nbsp;&nbsp;&nbsp;&nbsp;
<%
}
if(currentPage < totalPage){
%>
<a href = "emp_query.jsp?totalPage=<%=totalPage%>&currentPage=<%=currentPage+1%>&keyWord=<%=keyWord%>">下一页</a>&nbsp;&nbsp;&nbsp;&nbsp;
<%
}
%>
<a href = "emp_query.jsp?totalPage=<%=totalPage%>&currentPage=<%=totalPage%>&keyWord=<%=keyWord%>">尾页</a>
<%
}
%>
</center>
</body>
</html>
Tags:  tomcat

延伸阅读

最新评论

发表评论