分页实现

 我不管我不管,虽然不好看,超级不优雅,可以称作是大杂烩。但是好歹也是自己磕磕巴巴做出来的第一个分页界面,以后再慢慢优化,吸收。

<%@ page language="java" import="java.util.*,java.sql.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>My JSP 'welcome.jsp' starting page</title>
    
    <meta http-equiv="pragma" content="no-cache">
    <meta http-equiv="cache-control" content="no-cache">
    <meta http-equiv="expires" content="0">    
    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    <meta http-equiv="description" content="This is my page">
    <!--
    <link rel="stylesheet" type="text/css" href="styles.css">
    -->

  </head>
  
  <body>
    <h1>完成菜单列表情况</h1>
    <%
    //定义分页变量
     int pageSize=20;//每页显示20条数据
     int pageNow=1;//默认显示第一页
     int rowCount=0;//该值从数据库查询,表示一共有多少条记录
     int pageCount=0;//该值是通过pageSize和rowCount,一共有多少页
     
    //接收用户希望显示的页数(pageNow);
   String s_pageNow=request.getParameter("pageNow");
    
    if(s_pageNow!=null){
    //接收到pageNow
   pageNow=Integer.parseInt(s_pageNow);//将字符串变为整数
   }
    
   //查询得到rowCount;
 
 
//1.加载驱动
     Class.forName("com.mysql.jdbc.Driver");
     //2.得到链接
     Connection ct=DriverManager.getConnection("jdbc:mysql://182.254.213.191:3306/pvdb","PvUser","PvUser911"); 
     //3.创建Statement
     Statement sm=ct.createStatement(); 
     //4.查询
      ResultSet rs=sm.executeQuery("select count(*) from  权限表");
  if(rs.next()){
    rowCount=rs.getInt(1);
  }
 
 //计算pageCount
 
 if(rowCount%pageSize==0){
 
  pageCount=rowCount/pageSize;
 }else{
  
   pageCount=rowCount/pageSize+1;
 }

  //查询出需要显示的记录
 
  //rs=sm.executeQuery("select id,权限名称,备用字段2 as 负责人 from 权限表  where id limit "+ ((pageNow-1)*pageSize)+","+pageSize); 
   rs=sm.executeQuery("SELECT id,权限名称,负责人 from (select id,权限名称,备用字段2 as 负责人 from 权限表 order by id ) a where id limit "+ ((pageNow-1)*pageSize)+","+pageSize); 
   //显示
    %>
   <table border="1">
   <tr><td>ID</td><td>权限名称</td><td>负责人</td></tr>
   <%
     
     while(rs.next()){
     
     %>
      <tr><td><%=rs.getString(1)%></td><td><%=rs.getString(2)%></td><td><%=rs.getString(3)%></td></tr>
     
     <% 
      } 
   %>     
    </table> 
    <%
    //上一页
    if(pageNow!=1){
    out.println("<a href=welcome.jsp?pageNow="+(pageNow-1)+">上一页</a>");
    }
    //显示超链接
    for(int i=1;i<=pageCount;i++){
    
    out.println("<a href=welcome.jsp?pageNow="+i+">["+i+"]</a>");
    }
     
    //下一页
    if(pageNow!=pageCount){
    out.println("<a href=welcome.jsp?pageNow="+(pageNow+1)+">下一页</a>");
    }
     %>

     
  </body>
</html>

 就一个.jsp文件实现分页。其实还存在很多问题,可以把连接数据库的方法单独封装成一个类,这样在一个项目中大家只用改sql语句就可以共享连接数据库的方法。结果显示如下图所示。

转载于:https://www.cnblogs.com/yang-ye/p/5529957.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值