明天要考网络工程师了,而且这两天校运会,把那个分页的完善了下,明天考试,祈祷吧,我根本都没看书啊,所以只能去长见识了。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. Android log 里面快速搜索错误堆栈 ( 关键字)

    有时候,别人给你的log 文件,是一个文件夹,里面放了很多文件.但是可能你需要的log 只有几行.这时候不可能手工搜索的. 那怎么办呢?使用FileLocationPro.下载地址: https:// ...

  2. LINUX网络相关命令(转)

    网络连通性 Ping:发送一个 ICMP 回声请求消息给主机,一直持续到到你按下 Ctrl+C .Ping 表示一个包通过 ICMP 从你的机器发送出去,然后在IP层得到回应.Ping 可以检测你与另 ...

  3. static和final的区别(转载)

    Java中static 和final的区别 final定义的变量可以看做一个常量,不能被改变: final定义的方法不能被覆盖: final定义的类不能被继承. final static 就是再加上s ...

  4. 05-Mysql数据库----补充内容

    数据库命名规则: 数据库命名规则: 可以由字母.数字.下划线.@.#.$ 区分大小写 唯一性 不能使用关键字如 create select 不能单独使用数字 最长128位 # 基本上跟python或者 ...

  5. Hadoop伪分布式集群

    一.HDFS伪分布式环境搭建 Hadoop分布式文件系统(HDFS)被设计成适合运行在通用硬件(commodity hardware)上的分布式文件系统.它和现有的分布式文件系统有很多共同点.但同时, ...

  6. UVA215 Spreadsheet

    这道题题目大意就是计算带有单元格引用的各单元格的值. 这道题本身不难,有以下几个关键点: 1.如何判断一个单元格循环引用 2.注意对字符串的细致处理 我出现的错误出现在以上两个方面,思路本身是不难的. ...

  7. 【Python】Python内置函数dir详解

    1.命令介绍 最近学习并使用了一个python的内置函数dir,首先help一下: 复制代码代码如下: >>> help(dir)Help on built-in function ...

  8. gradle在build之后执行任务

    在打包后一般会有copy jar文件的需求. 先在build.gradle文件中定义你的task: task myCopy{ println "some copy code..." ...

  9. lintcode-118-不同的子序列

    118-不同的子序列 给出字符串S和字符串T,计算S的不同的子序列中T出现的个数. 子序列字符串是原始字符串通过删除一些(或零个)产生的一个新的字符串,并且对剩下的字符的相对位置没有影响.(比如,&q ...

  10. new String(str.getBytes(“gbk”),“gbk”)的用法详解

    new String(str.getBytes(“gbk”),“gbk”)的用法详解 前提是str存放的是汉字 一.如果是new String(str.getBytes(“gbk”),“gbk”)时, ...