明天要考网络工程师了,而且这两天校运会,把那个分页的完善了下,明天考试,祈祷吧,我根本都没看书啊,所以只能去长见识了。100大洋啊,下个学期我想考考证了,不然以后出去麻烦了。呵呵,不多说还是说说自己对分页的理解吧。

    这次的代码在上次的代码上基本是上没有什么变动只是对那种翻页做了下改进啊,以下是说明。

 <%@ page contentType="text/html" pageEncoding="GBK"%>
<%@ page import="java.sql.*"%>
<html>
<head>
<title>www.mldn.cn,高端java培训</title>
<style type="css/text">
.wh
{
font-size:22px;
font-weight:bold;
} </style>
<script language="JavaScript">
function go(num){
document.getElementById("npage").value=num;
document.myform.submit();
} </script> </head>
<body>
<%!public static String DBDRIVER = "org.gjt.mm.mysql.Driver";
public static String DBURL = "jdbc:mysql://localhost:3306/test";
public static String DBUSER = "root";
public static String DBPASS = "adminmysql";%> <%
Connection conn = null;//定义链接对象
PreparedStatement pstmt = null;
ResultSet rs = null;
%>
<%
try {
Class.forName(DBDRIVER);
conn = DriverManager.getConnection(DBURL, DBUSER, DBPASS);
} catch (Exception e) {
}
%> <%
int pageSize = 3;//定义每一页显示多少条
int pageNow = 1;//现在显示的是第多少页
int rowCount = 0;//总共有多少行数据
int pageCount = 1;//一共有多少页
int list_num[] = { 1, 3, 5, 10, 20, 30 }; pageNow = request.getParameter("npage") == null ? pageNow : Integer
.parseInt(request.getParameter("npage")); pageSize = request.getParameter("select_size") == null ? pageSize
: Integer.parseInt(request.getParameter("select_size"));//接受pageSize的大小 String sql = "select count(empno) from emp";
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
if (rs.next()) {
rowCount = rs.getInt(1);//获取一共获得多少条数据
} if (rowCount % pageSize == 0) {
pageCount = rowCount / pageSize;
} else {
pageCount = rowCount / pageSize + 1;
} String sql2 = "select empno,ename,job,hiredate,sal from emp limit ?,?";
pstmt = conn.prepareStatement(sql2);
pstmt.setInt(1, (pageNow - 1) * pageSize);
pstmt.setInt(2, pageSize);
rs = pstmt.executeQuery();
%>
<!-- -->
<center>
<h1>员工信息</h1>
<hr>
<form action="emp_fenye.jsp" name="myform" method="post">
<input type="button" value="第一页" onclick="go(1)"
<%=pageNow == 1 ? "disabled" : ""%>> <input type="button"
value="上一页" onclick="go(<%=pageNow - 1%>)"
<%=pageNow == 1 ? "disabled" : ""%>> <input type="button"
value="下一页" onclick="go(<%=pageNow + 1%>)"
<%=pageNow == pageCount ? "disabled" : ""%>> <input type="button"
value="尾页" onclick="go(<%=pageCount%>)"
<%=pageNow == pageCount ? "disabled" : ""%>> <input type="hidden"
name="npage" value="1">跳转到 <select name="page_select"
onchange="go(this.value)">
<%
for (int i = 1; i <= pageCount; i++) {
%>
<option value="<%=i%>" <%=i== pageNow ? "selected" : ""%>><%=i%>
<%
}
%> </select>页 每页显示<select name="select_size" onchange="go(1)"> <%
for (int i = 0; i < list_num.length; i++) {
%>
<option value="<%=list_num[i]%>"
<%=list_num[i] == pageSize ? "selected" : ""%>><%=list_num[i]%>
<%
}
%> </select>条
</form>
<table border="1" bgcolor="F2F2F2">
<tr>
<td>员工ID</td>
<td>员工姓名</td>
<td>员工工作</td>
<td>员工应聘时间</td>
<td>员工工资</td>
</tr> <%
while (rs.next()) {
%>
<tr>
<td><%=rs.getInt(1)%></td>
<td><%=rs.getString(2)%></td>
<td><%=rs.getString(3)%></td>
<td><%=rs.getDate(4)%></td>
<td><%=rs.getFloat(5)%></td>
</tr>
<%
}
%>
<%
try { pstmt.close();
conn.close();
} catch (Exception e) {
}
%> </table>
</center>
</body>
</html>

    对其中部分代码说明:

    

 每页显示<select name="select_size" onchange="go(1)">

                     <%
for(int i=0;i<list_num.length;i++){
%>
<option value="<%=list_num[i]%>"
<%=list_num[i]==pageSize?"selected":""%>><%=list_num[i]%>
<%
}
%></select>条

    在这里,一点下拉框就会触发go()事件就会重新加载整个页面,那么此时在request那里就可以接受到pageSize的大小,这句话<%=list_num[i]==pageSize?"selected":""%>就可以进行判断selected的作用只是用于显示。当时我在这里想了半天都没想明白,所以就把这句话给加上了。

    本来我的代码都是在编辑器中编辑的,所以是在网页上运行,但是我在IE上运行的时候脚本调试不了,在火狐和google浏览器上的调试结果额差不多,都是js那里的问题。所以最后我又给弄近eclipse里面运行才好,今天我又看到了一种分页,是数字分页,暂时我还不会,希望有时间研究一下。至于调用servlet的,应该不是很难的,只要在jsp页面里接收servlrt里面设置的参数(list)就可以了吧。

jsp分页完善版的更多相关文章

  1. JSP分页显示实例(基于Bootstrap)

    首先介绍一款简单利落的分页显示利器:bootstrap-paginator 效果截图: GitHub官方下载地址:https://github.com/lyonlai/bootstrap-pagina ...

  2. 基于Bootstrap的DropDownList的JQuery组件的完善版

    在前文 创建基于Bootstrap的下拉菜单的DropDownList的JQuery插件 中,实现了DropDownList的JQuery组件,但是留有遗憾.就是当下拉菜单出现滚动条的时候,滚动条会覆 ...

  3. WPF 自定义 MessageBox (相对完善版)

    WPF 自定义 MessageBox (相对完善版)     基于WPF的自定义 MessageBox. 众所周知WPF界面美观.大多数WPF元素都可以简单的修改其样式,从而达到程序的风格统一.可是当 ...

  4. 转:JSP 分页显示数据 (Oracle)

    JSP 分页显示数据 (Oracle) 标签: Oracle分页JSP分页 2013-11-19 20:40 3598人阅读 评论(1) 收藏 举报  分类: Web(11)  版权声明:本文为博主原 ...

  5. Jsp分页的简单制作

    Jsp分页的简单制作 运行环境:jsp+tomcat+eclipse 技术:servlet+jsp+mysql 分页技术还区分两个:假分页和真分页 假分页:一次性从数据库读出表的所有数据一次性的返回给 ...

  6. JSP 分页显示数据 (Oracle)

    要实现分页,首先我们要做的就是如何来编写SQL语句,网上也有很多,大家可以搜一下.在这里,我们使用一种比较常用的方式来编写SQL语句.代码如下: ----分页显示 select * from (sel ...

  7. WPF 自定义 MessageBox (相对完善版 v1.0.0.6)

    基于WPF的自定义 MessageBox. 众所周知WPF界面美观.大多数WPF元素都可以简单的修改其样式,从而达到程序的风格统一.可是当你不得不弹出一个消息框通知用户消息时(虽然很不建议在程序中频繁 ...

  8. 第一次做的jsp分页,详细代码。。。。

    自己学jsp也有了一段时间,而且自己现在上的课是java web现在雪儿基础做了一个最简单的jsp页面,代码都放在一个页面,自己准备在改进,一步步来,这里的代码可能不是很完美,没事,下面接下来会有大概 ...

  9. JSP 分页代码

    jsp 分页模板 后台分页代码: 说明: 在 com.zc.domain 包下: PageBean.java 文件 package cn.itcast.customer.domain;   impor ...

随机推荐

  1. 插件开发遇到的坑------final 型变量,编译过程被优化

    android 插件开发遇到的坑 今天遇到一个坑,pdf 插件,调用了主工程的一个静态final 字符串,但是主工程里面已经没有这个字符串了,却没有崩溃. 后来同事说,因为字符串可能已经直接被写死了. ...

  2. 海思NB-IOT的SDK添加AT指令方法

    1. 首先打开app_at_cmd_parse.c文件,在文件的末尾找到,可在中间添加需要的代码 /查询电信自注册结果 {AT_FLAG_VISIABLE | AT_FLAG_LOGABLE, &qu ...

  3. 使用uniflash串口烧写CC3200的常见问题

    1. 在正常情况下,cc3200的烧写使用的是芯片的PIN55和PIN57,只要把SOP2上拉既可正常烧写,常见问题是烧写的时候没有上拉SOP2,正常运行SOP2留空,IAR只能仿真调试,不能下载程序 ...

  4. java线程池技术

    1.线程池的实现原理?简介: 多线程技术主要解决处理器单元内多个线程执行的问题,它可以显著减少处理器单元的闲置时间,增加处理器单元的吞吐能力.假设一个服务器完成一项任务所需时间为:T1 创建线程时间, ...

  5. MySQL☞between ... and ...

    between  初值  and  终值:求出该列列值在初值和终值之间所有的数据 格式如下: select 列名/* from 表名 where 列名 between 初值 and 终值 如下图:

  6. MySQL☞insert value与values

    最近公司事情太忙,作为以一挑十的测试,只能苦逼的累死累活的.好不容易临近上线,可以偷个懒写个文章. 简单的说说如何向表中插入数据: 1.向表中所有的列插入数据(插入多行数据): insert  int ...

  7. linux学习笔记---学习总结②

    table ----> 展示数据 table --->表格 border cellspacing cellpadding width height tr --->行 align th ...

  8. kubernetes(k8s) 集群

    开启和重启命令: sudo systemctl stop etcdsudo systemctl stop dockersudo systemctl stop kube-apiserversudo sy ...

  9. LeetCode 92 ——反转链表 II

    1. 题目 2. 解答 我们需要先找到第 m 个结点及其上一个结点,然后将从 m 到 n 的结点进行反转,最后依次将 m 到 n 反转后的结点和 n 之后的结点放入原链表中即可. 从前往后依次遍历 m ...

  10. xshell连接不到虚拟机,安装ssh服务

    刚安装的虚拟机镜像是Ubuntu 16.04版本,防火墙已经关闭. 测试: 检查虚拟机分配的ip地址. 1.虚拟机ping宿主机:可以ping通 2.宿主机ping虚拟机:可以ping通 3.检查网络 ...