我不管我不管,虽然不好看,超级不优雅,可以称作是大杂烩。但是好歹也是自己磕磕巴巴做出来的第一个分页界面,以后再慢慢优化,吸收。
<%@ page language="java" import="java.util.*,java.sql.*" pageEncoding="utf-8"%><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%>My JSP 'welcome.jsp' starting page 完成菜单列表情况
<% //定义分页变量 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); //显示 %>
ID | 权限名称 | 负责人 |
<%=rs.getString(1)%> | <%=rs.getString(2)%> | <%=rs.getString(3)%> |
就一个.jsp文件实现分页。其实还存在很多问题,可以把连接数据库的方法单独封装成一个类,这样在一个项目中大家只用改sql语句就可以共享连接数据库的方法。结果显示如下图所示。