<![endif]-->
这是我这两天刚做的jsp分页技术,才刚刚学,做得有些粗糙……
1、 定义 4 个变量
pageSize : 每页显示多少条记录
pageNow 显示当前的哪一页,默认是第一页
rowCount 通过数据库查询得到多少条记录 ( 总共多少条记录 )
pageCount 通过计算得到每页多少条记录
其中计算方法如下:
If(rowCount%pageSize==0){
pageCount=rowCount/pageSize;
}
Else{
pageCount=rowCount/pageSize+1;
}
2、 连接数据库(我用的是 mySql 数据库)
<![endif]-->
上面是我的数据库 test 表 student 中数据,可以根据自己实际要求新建。
3、 在 jsp 文件中处理数据库中的字段,且实现分页效果
4、 运行文件,查看分页效果
下面是分页技术代码:
<%
int pageSize=3; // 每页显示多少条记录,我这里是每页显示 3 条记录,根据自己需求可以改
int pageNow=1; // 显示当前的哪一页,默认是第一页
int rowCount=0; // 通过数据库查询得到多少条记录 ( 总记录的条数 )
int pageCount=0; // 通过计算得出总共有多少页
int i = 0;
if ( null != request.getParameter( "pageNow" ) && "" != request.getParameter( "pageNow" )){
i = Integer.parseInt(request.getParameter( "pageNow" ));
pageNow = i;
}
else {
i = pageNow;
}
// 加载驱动
Class.forName( "com.mysql.jdbc.Driver" );
// 新建连接
Connection conn=DriverManager.getConnection( "jdbc:mysql://127.0.0.1:3306/test" , "root" , "123456" );
// 创建 Statement
Statement sta =conn.createStatement();
// 创建结果集 后面的 sql 语句是计算出表中记录的总条数
ResultSet re=sta.executeQuery( "select count(*) from student" );
if (re.next())
{
rowCount=re.getInt(1);
}
// 计算 pageCount
if (rowCount%pageSize==0){
pageCount=rowCount/pageSize;
}
else {
pageCount=rowCount/pageSize+1;
}
re=sta.executeQuery( "select * from student where id limit " +(pageNow-1)*pageSize+ "," +pageSize+ "" );
<!— 这里的 sql 语句要特别注意,这里是指查询你要显示第几页的那条记录开始,直到后面的第几条记录,我这里是后面的 3 条记录,因为我只要求每页显示 3 条记录 ( 我就在这里犯过错的 )-->
%>
< table border = "2px" >
< tr >
< td > 用户 ID </ td >< td > 用户名 </ td >< td > 密码 </ td >< td > 等级 </ td >
</ tr >
<%
while (re.next()){
%>
<!-- 得到数据库的每个字段的值 -->
< tr >
< td > <%= re.getString( "id" ) %> </ td >
< td > <%= re.getString( "name" ) %> </ td >
< td > <%= re.getString( "password" ) %> </ td >
< td > <%= re.getString( "grade" ) %> </ td >
</ tr >
<%
}
%>
</ table >
<%
// 上一页
if (pageNow!=1){
out.println( "<a href=login.jsp?pageNow=" +(pageNow-1)+ "> 上一页 </a>" );
}
// 每一 页
for ( int j=1;j<=pageCount;j++){
out.println( "<a href=login.jsp?pageNow=" +j+ ">[" +j+ "]</a>" );
}
// 下一页
if (pageNow!=pageCount){
out.println( "<a href=login.jsp?pageNow=" +(pageNow+1)+ "> 下一页 </a>" );
}
%>
最终效果图展示,如下: