明天要考网络工程师了,而且这两天校运会,把那个分页的完善了下,明天考试,祈祷吧,我根本都没看书啊,所以只能去长见识了。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开发——告诉你Adapter应该写在Activity里面还是外面

    0. 前言 本文转载自AItsuki的博客. 首先说明一下为什么要写这么一篇博客:最近看了一些其他人的项目,发现很多项目的做法是建立一个专门存放Adapter类的Package包,也有的项目干脆直接都 ...

  2. LeetCode:18. 4Sum(Medium)

    1. 原题链接 https://leetcode.com/problems/4sum/description/ 2. 题目要求 给出整数数组S[n],在数组S中是否存在a,b,c,d四个整数,使得四个 ...

  3. Linux硬盘性能检测

    对于现在的计算机来讲,整个计算机的性能主要受磁盘IO速度的影响,内存.CPU包括主板总线的速度已经很快了. 基础检测方法 1.dd命令 dd命令功能很简单,就是从一个源读取数据以bit级的形式写到一个 ...

  4. coia阻止事件上浮

    1.阻止事件上浮 选择默认地址li 时 选中整个div使其为默认地址 此时点击编辑按钮也会触发选中默认事件 为事件添加event.stopPropagation();阻止事件上浮 2.js给页面inp ...

  5. 让PC版网站在移动端原样式显示

    一般PC网站在移动端显示效果往往和PC版原样式不同,为了在移动端下还原原PC站样式,可以采用以下方式解决: 1) 去掉页头的: <meta name="viewport" c ...

  6. Linux shell 整数运算 let [ ] (( )) expr以及 浮点数 bc用法(转)

    Abstract : 1)  Linux shell 中使用 let , [ ] ,(( )) 三种运算符操作 shell 变量进行简单的基本运算:2)Linux shell 中使用 expr 与 b ...

  7. 制作一个简易计算器——基于Android Studio实现

    一个计算器Android程序的源码部分分为主干和细节两部分. 一.主干 1. 主干的构成 计算器的布局 事件(即计算器上的按钮.文本框)监听 实现计算 2. 详细解释 假设我们的项目名为Calcula ...

  8. json.dumps错误:'utf8' codec can't decode byte解决方案

    一次在使用json.dumps()过程中,出现错误提示: ERROR:"UnicodeDecodeError: 'utf8' codec can't decode byte 0xe1 in ...

  9. 【Linux】Linux修改openfiles后不生效问题?

    #次故障问题环境背景: Centos7.4物理机,升级过ssh和ntp: #一般只需要在此文件后面添加4行就行,配置后即可生效(exit再次登录即可生效),此次配置后没生效,reboot还是没生效,在 ...

  10. Vue.js---组件

    详情点此连接(转载) 组件的创建和注册 vue.js的组件的使用有3个步骤:创建组件构造器.注册组件和使用组件. 1. 调用Vue.extend()方法创建组件构造器. 2. 调用Vue.compon ...