JSP分页思想—核心代码

try{condition="select * from employee_info"; 
    sql=conn.createStatement();
    rs=sql.executeQuery(condition);
    int intPageSize; //一页显示的记录数
     int intRowCount; //记录总数
     int intPageCount; //总页数
     int intPage; //待显示页码 %>  </div>
   intPageSize = 2; //设置一页显示的记录数
   String strPage = request.getParameter("page");  //取得待显示页码
   if(strPage==null){
  //表明在QueryString中没有page这一个参数,此时显示第一页数据
     intPage = 1;       } 
   else{//将字符串转换成整型
 intPage = java.lang.Integer.parseInt(strPage);
        if(intPage<1) intPage = 1;
    }
  out.print("<table border='1' width='100%'>");
  out.print("<tr>"); out.print("<th >"+"雇员号");
  out.print("<th >"+"姓名");
  out.print("<th >"+"出生日期");
  out.print("<th >"+"薪水"); out.print("<th >编辑</th >");
  out.print("<th >删除</th >");     out.print("</tr>");
rs.last(); //光标指向查询结果集中最后一条记录
intRowCount = rs.getRow();  //获取记录总数
if(intRowCount%intPageSize==0){
   intPageCount=intRowCount/intPageSize;
}else{
   intPageCount=intRowCount/intPageSize+1;
}
if(intPage>intPageCount) 	intPage = intPageCount; //调整待显示的页码
if(intPageCount>0){    rs.absolute((intPage-1) * intPageSize + 1); 
//将记录指针定位到待显示页的第一条记录上
             int i = 0;
while(i<intPageSize && !rs.isAfterLast()){      //显示数据
             out.print("<tr>");
             String id=rs.getString(1);
             out.print("<td >"+id+"</td>"); 
             out.print("<td >"+rs.getString(2)+"</td>");
             out.print("<td >"+rs.getDate("birthday")+"</td>"); 
             out.print("<td >"+rs.getInt("salary")+"</td>");
out.print("<td><a href=modify.jsp?id="+id+">编辑</a></td>");
out.print("<td ><a href=delete.jsp?id="+id+" onclick=return(confirm('确定删除吗?'))>删除</a></td>");
out.print("</tr>") ; 
rs.next();
         i++; }
}   
        out.print("</table>");%>
          <div align="center">
                第<%=intPage%>页 共<%=intPageCount%>页
                <%    if(intPage<intPageCount){ %>
                <a href="admin1.jsp?page=<%=intPage+1%>">下一页</a>
<% }
                 if(intPage>1){%>
                <a href="admin1.jsp?page=<%=intPage-1%>">上一页</a>
                <%    }
                    rs.close();
                    sql.close();
                    conn.close();
}  
 catch(SQLException e)      {  out.print(e);     }  %> 
 </div>

125jz网原创文章。发布者:江山如画,转载请注明出处:http://www.125jz.com/4053.html

(6)
江山如画的头像江山如画管理团队
上一篇 2019年10月29日 上午10:42
下一篇 2019年10月30日 下午2:44

99%的人还看了以下文章

  • 填坑!安装opencv-python库后,没有CV2文件夹,找不到haarcascade分类器文件

    python内import cv2正常运行,但是根据以下方法在e:\python\python39\lib\site-packages下找不到CV2文件夹,也找不到data\haarcascades相关分类器文件。 OpenCV-python haarcascade各种分类器文件位置 使用 pip list 查看是否安装opencv-python E:\py…

    2020年12月8日
    6.7K0
  • Java GUI编程高级实例一:给应用程序添加菜单

    一、给GUI应用程序添加菜单 菜单的作用:给应用程序设置操作菜单。 菜单组成 JMenuItem—菜单项,直接指向一个具体的操作 JMenu—菜单,其中可加入菜单项(JMenuItem)和菜单(Jmenu) JMenuBar—-菜单栏,在其中可以加入菜单(JMenu) 菜单的创建 JMenu、JMenuBar和JMenuI…

    2020年1月22日
    4.5K0
  • String、StringBuffer、StringBuilder的区别?

    String在实例化之后,其内存空间的内容大小是不能够被修改的;而StringBuffer是一个线程安全的可变字符序列,在实例化之后可以动态的修改堆内存中的内容,所以内存长度和大小是可变的;StringBuilder实例化之后内存大小长度也是可变的,不同之处在于StringBuilder不是线程同步,因此操作起来必然比StringBuffer更加高效。

    2018年10月24日
    2.0K0
  • 国内github网站打不开的解决方法(验证100%解决)

    最近国内访问github.com经常打不开,无法访问。 github网站打不开的解决方法 1.打开网站http://tool.chinaz.com/dns/ ,在A类型的查询中输入 github.com,找出最快的IP地址。 2.修改hosts文件。 在hosts文件中添加: # localhost name resolution is handled wi…

    2022年2月1日 编程开发
    19.3K0
  • 第2课:编写第一个C语言程序

      用C语言语句编写的程序称为C程序或C源程序。 下面编写第一个C语言程序,这个程序是在Visual C++ 环境下编译通过的。 Microsoft Visual C++(简称Visual C++、MSVC、VS或VC)是微软公司的C++开发工具,具有集成开发环境,可提供编辑C语言,C++以及C++/CLI等编程语言。 【例1.1】用C语言编写一个…

    2020年4月5日
    3.2K0
  • Robotstudio示教编程与仿真运行教程

    Robotstudio软件中内置的虚拟示教器与真实的工业机器人示教器没有任何区别,对于学习ABB机器人现场示教编程的,可以在基础工作站中进行学习使用。

    2022年5月3日 编程开发
    3.6K0

发表回复

登录后才能评论