`

JSP分页代码(最原始的分页思想)

阅读更多
<%@ page language="java" pageEncoding="GB2312"%>
<%@ page import="java.sql.*" %>
<%
    String path = request.getContextPath();
    String basePath = request.getScheme() + "://"
            + request.getServerName() + ":" + request.getServerPort()
            + path + "/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">

<title>仿BAIDU & GOOGLE 分页页码显示格式</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<style>
<!--
body { .p { PADDING-LEFT:18px;
    FONT-SIZE: 14px;
    WORD-SPACING: 4px
}
}
-->
</style>
</head>

<body>
<div class="p">
<%
              int pagesize = 10;//每页显示记录数
                int liststep = 20;//最多显示分页页数
                int pages = 1;//默认显示第一页
                if (request.getParameter("pages") != null)  {
                    pages = Integer.parseInt(request.getParameter("pages"));//分页页码变量
                }
                //sql="select count(*) from table";//取出记录总数,把*换成记录名性能更加
                int count = 305;//假设取出记录总数
                int pagescount = (int) Math.ceil((double) count / pagesize);//求总页数,ceil(num)取整不小于num
                if (pagescount < pages)  {
                    pages = pagescount;//如果分页变量大总页数,则将分页变量设计为总页数
                }
                if (pages < 1)  {
                    pages = 1;//如果分页变量小于1,则将分页变量设为1
                }
                int listbegin = (pages - (int) Math.ceil((double) liststep / 2));//从第几页开始显示分页信息
                if (listbegin < 1)  {
                    listbegin = 1;
                }
                int listend = pages + liststep/2;//分页信息显示到第几页
                if (listend > pagescount)  {
                    listend = pagescount + 1;
                }

                //显示数据部分
                int recordbegin = (pages - 1) * pagesize;//起始记录
                int recordend = 0;
                recordend = recordbegin + pagesize;
                //最后一页记录显示处理
                if (pages == pagescount)  {
                    recordend = (int) (recordbegin + pagesize * (count % pagesize) * 0.1);
                }
              
            Connection conn = null;
        PreparedStatement pstmt = null;
        ResultSet rs = null;
        String strsql = "select top "+pagesize+ " * from    (select top "+recordbegin+" * from tables order by aml_id) aa    order by aml_id desc";
        Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
        conn = DriverManager.getConnection("jdbc:microsoft:", "", "");
        pstmt = conn.prepareStatement(strsql);
        rs = pstmt.executeQuery();
        while(rs.next()){
                      response.getWriter().println("AML_ID: "+rs.getString(1)+" ");//显示取出的数据
                      response.getWriter().println("AML_ID: "+rs.getString(4)+"<br>");//显示取出的数据
        }
           
         
             //   for (int i = recordbegin; i < recordend; i++)  {
              //      response.getWriter().println("record " + i + "<br>");
              //  }

                //显示数据部分

                //<显示分页信息
                //<显示上一页
                if (pages > 1)  {
                    response.getWriter().println(
                    "<a href=?pages=" + (pages - 1) + ">上一页</a>");
                }//>显示上一页
                //<显示分页码
                for (int i = listbegin; i < listend; i++)  {
                    if (i != pages)  {//如果i不等于当前页
                        response.getWriter().println(
                        "<a href=?pages=" + i + ">[" + i + "]</a>");
                    } else  {
                        response.getWriter().println("[" + i + "]");
                    }
                }//显示分页码>
                //<显示下一页
                if (pages != pagescount)  {
                    response.getWriter().println(
                    "<a href=?pages=" + (pages + 1) + ">下一页</a>");
                }//>显示下一页
                //>显示分页信息
        rs.close();
        pstmt.close();
        conn.close();
            %>
</div>
</body>
</html>
分享到:
评论

相关推荐

    jsp jdbc分页原代码

    以下是一个简单的JSP分页代码示例: ```jsp *" %&gt; int pageSize = 10; // 每页记录数 int pageNum = Integer.parseInt(request.getParameter("pageNum")); // 获取当前页码 Connection conn = ... // 数据库...

    java分页代码下载

    根据提供的文件信息,我们可以分析出该段代码是用于实现基于Java技术的Web应用程序中的分页功能。虽然这里的代码示例采用的是ASP.NET的语法结构,但我们可以从中抽取出与Java分页相关的概念和技术要点,并结合Java...

    spring+springmvc+mybatis+jsp分页插件

    本项目"spring+springmvc+mybatis+jsp分页插件"正是为了解决这个问题而设计的。下面我们将详细探讨这个项目的各个组成部分及其工作原理。 首先,Spring是一个开源的Java框架,它提供了全面的编程和配置模型,简化了...

    验证码代码与md5加密和分页代码

    分页代码一般包括以下步骤: 1. 计算总页数:根据查询结果的数量和每页显示的条目数。 2. 用户请求特定页码:通过URL参数或其他方式传递页码。 3. 查询数据库:根据页码和每页大小获取对应的数据。 4. 显示分页导航...

    Mybatis-Servelt+JSP+Mybatis 分页实战(取PageInfo的属性完成).zip

    【标题】 "Mybatis-Servelt+JSP+Mybatis 分页实战(取PageInfo的属性完成)" 提供了一个实际的开发案例,演示了如何在Java Web应用中使用Mybatis框架进行分页处理。这个实战项目的核心是整合Servlet、JSP和Mybatis,...

    自定义标签写的分页代码

    原始写的分页,需要在jsp中写入脚本,不仅烦琐而且不能重用,自定义标签写的分页代码精简,而且可以实现最大化的重用

    jsp分页不错的哦都来看看哦!!

    总结起来,这个`SplitPager`标签实现了简单的分页功能,通过处理JSP页面的标签体内容,动态生成分页导航,并通过JavaScript辅助实现页面的无刷新跳转。这种自定义标签的方法可以方便地在多个页面中复用分页逻辑,...

    Ajax实现分页查询

    本教程将围绕Ajax在JSP(JavaServer Pages)环境下的分页查询展开,尽管原始示例是ASP,但转换到JSP的原理是相通的。 **Ajax基础** Ajax的核心在于创建XMLHttpRequest对象,它允许在后台与服务器进行异步通信。在...

    自己写的分页组件

    标签“源码”和“工具”暗示我们能够获得这个分页组件的原始代码,这对于学习、理解和改进代码非常有帮助。源码分析可以让我们了解如何处理分页逻辑,包括计算总页数、处理当前页数的更改、生成分页按钮等。而“工具...

    一个ssh分页的源代码

    在这个“一个ssh分页的源代码”中,我们可以看到一个已经实现好的分页功能,它应该可以帮助开发者快速地在自己的项目中引入分页功能,而无需从零开始编写代码。 Struts2是ActionServlet的升级版,它引入了拦截器...

    [其他类别]分页 QQ菜单 jsp标签_noka3.9.zip

    "源码"标签暗示我们能够在这个压缩包中找到实现这些功能的原始代码,这对于学习和理解分页、菜单和JSP标签的实现细节非常有帮助。 "毕业设计"和"课程设计"标签表明,这个项目可能是某个学生或者一组学生的学业作品...

    JDBC简单分页方案

    因为`ResultSetWithPageImpl`对象仅在Servlet服务期间存在,一旦数据传递到JSP页面,对象和其中的分页信息就会丢失。若将其存储在`HttpSession`中,虽然可以解决这一问题,但大量数据存储在Session中会影响性能,...

    springboot-mybatis-分页

    开发者可以在JSP页面中嵌入Java代码,或者使用JSP标签库来处理业务逻辑。JSP与Servlet紧密关联,Servlet负责处理请求,JSP则负责显示响应内容,这种分离使得开发者可以专注于页面设计和业务逻辑的实现。 综上所述,...

    JSP简单学生信息管理系统带分页功能源码.zip

    这是一个基于JSP技术开发的学生信息管理系统,具备基本的管理功能,包括用户登录、学生信息的查询、添加和修改,以及重要的分页展示功能。在这个系统中,开发者利用了Java语言的强大特性和Web开发的灵活性,为小型...

    SQL自动分页

    自动置顶通常涉及到将某些特定记录置于分页结果的最前面,即使它们在原始数据中的位置不是这样。这可以通过添加额外的逻辑实现,例如,为需要置顶的记录分配一个特殊的标识,然后在排序时优先考虑这些记录。 **4. ...

    ssm项目案例 以及easyui分页功能实现

    MyBatis可以使用简单的XML或注解进行配置和原始映射,将接口和Java的POJOs(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录。 **EasyUI**:EasyUI是一款基于jQuery的UI组件库,它提供了丰富的界面...

    jsp读取数据库实现分页技术简析.docx

    本篇文章将详细分析如何利用JSP和JavaBean来实现数据库的分页显示,以MySQL为例。 1. **数据库连接与JavaBean设计** JavaBean是一种符合JavaBeans规范的Java类,通常用来封装数据和业务逻辑。在这个例子中,`...

    eXtremeTable分页控件完整例子(数据分页+数据导出)

    - 数据获取与分页逻辑:这部分代码负责从数据库或其他数据源获取数据,并根据分页参数进行切割。 - eXtremeTable配置:包括设置表格的列、样式、分页参数等。 - 导出事件处理:当用户触发导出操作时,这里会有相应的...

    mybatis分页(struts2+spring+mybatis)

    src/main/java(存放Java源代码,包括实体类、DAO接口、Service类、Action类等),src/main/resources(存放MyBatis的配置文件、Mapper XML文件),webapp(存放Web应用相关的资源,如JSP页面、CSS、JavaScript等)...

    分页用displaytag-portlet-1.1jar包

    在实际应用中,使用DisplayTag Portlet 1.1时,开发者需要在portlet的部署描述符(如portlet.xml)中声明依赖,并在portlet的Java代码中导入必要的类,然后通过JSP标签来渲染表格和分页控件。DisplayTag提供了一系列...

Global site tag (gtag.js) - Google Analytics