JSP分页显示的实例代码

JSP分页显示的实例代码需要以下步骤:

1. 准备数据

首先,我们需要准备一些数据,以便在JSP页面中分页显示。可以从数据库中查询相关数据,或者手动设置一些数据。

int pageSize = 5; //每页显示5条数据
int currentPage = 1; //当前页码
List<String> dataList = new ArrayList<>(); //数据列表
dataList.add("数据1");
dataList.add("数据2");
...

2. 计算分页信息

根据当前页码和每页显示的数据量,可以计算出总共有多少页,并且把当前页码转换成数据库中的偏移量。

int totalCount = dataList.size(); //总共有多少条数据
int totalPage = (totalCount + pageSize - 1) / pageSize; //总共有多少页
int offset = (currentPage - 1) * pageSize; //当前页码对应的偏移量

3. 显示分页条

为了让用户更方便地浏览分页数据,我们需要在页面上显示一个分页条,用户可以点击分页条上的链接来切换页面。以下是一个简单的分页条模板:

<div class="pagination">
  <ul>
    <% if(currentPage == 1){ %>
      <li class="disabled"><a href="#">第一页</a></li>
      <li class="disabled"><a href="#">上一页</a></li>
    <% } else { %>
      <li><a href="?page=1">第一页</a></li>
      <li><a href="?page=<%= currentPage - 1 %>">上一页</a></li>
    <% } %>

    <% for(int i = 1; i <= totalPage; i++){ %>
      <% if(i == currentPage){ %>
        <li class="active"><a href="#"><%= i %></a></li>
      <% } else { %>
        <li><a href="?page=<%= i %>"><%= i %></a></li>
      <% } %>
    <% } %>

    <% if(currentPage == totalPage){ %>
      <li class="disabled"><a href="#">下一页</a></li>
      <li class="disabled"><a href="#">最后一页</a></li>
    <% } else { %>
      <li><a href="?page=<%= currentPage + 1 %>">下一页</a></li>
      <li><a href="?page=<%= totalPage %>">最后一页</a></li>
    <% } %>
  </ul>
</div>

在分页条模板中,我们使用了JSP的标签,可以根据当前页码和总页数来动态生成链接。如果当前页是第一页或者最后一页,链接会被禁用。

4. 显示分页数据

最后一步是在页面上显示分页数据。根据偏移量和每页显示的数据量,从数据列表中取出需要显示的数据,并且遍历它们。

<table>
  <tr>
    <th>编号</th>
    <th>数据</th>
  </tr>

  <% for(int i = offset; i < Math.min(offset + pageSize, dataList.size()); i++){ %>
    <tr>
      <td><%= i + 1 %></td>
      <td><%= dataList.get(i) %></td>
    </tr>
  <% } %>
</table>

以上就是完整的JSP分页显示的实例代码攻略。以下是两个示例说明:

示例1:从数据库中查询数据

int pageSize = 5; //每页显示5条数据
int currentPage = 1; //当前页码
int totalCount = 0; //总共有多少条数据
List<String> dataList = new ArrayList<>(); //数据列表

//查询总共有多少条数据
//SELECT COUNT(*) FROM table_name
totalCount = 100;

//查询当前页需要显示的数据
//SELECT * FROM table_name LIMIT offset,pageSize
int offset = (currentPage - 1) * pageSize;
sql = "SELECT * FROM table_name LIMIT " + offset + "," + pageSize;
ResultSet rs = statement.executeQuery(sql);
while(rs.next()){
    String data = rs.getString("data");
    dataList.add(data);
}

示例2:使用Restful API获取数据

int pageSize = 5; //每页显示5条数据
int currentPage = 1; //当前页码
int totalCount = 0; //总共有多少条数据
List<String> dataList = new ArrayList<>(); //数据列表

//查询总共有多少条数据
//GET /api/data/count
httpGet = new HttpGet("/api/data/count");
HttpResponse response = client.execute(httpGet);
HttpEntity entity = response.getEntity();
String content = EntityUtils.toString(entity);
totalCount = Integer.parseInt(content);

//查询当前页需要显示的数据
//GET /api/data?page=currentPage&pageSize=pageSize
int offset = (currentPage - 1) * pageSize;
String url = "/api/data?page=" + currentPage + "&pageSize=" + pageSize;
httpGet = new HttpGet(url);
response = client.execute(httpGet);
entity = response.getEntity();
content = EntityUtils.toString(entity);
JSONArray jsonArray = new JSONArray(content);
for(int i = 0; i < jsonArray.length(); i++){
    String data = jsonArray.getJSONObject(i).getString("data");
    dataList.add(data);
}

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JSP分页显示的实例代码 - Python技术站

(0)
上一篇 2023年6月15日
下一篇 2023年6月15日

相关文章

  • 从零开始SSM搭建步骤(图文)

    请看下面的详细讲解: 1. 环境配置 JDK的安装 搜索并下载JDK并安装,然后配置系统环境变量。 Maven的安装 搜索并下载Maven并安装,然后配置系统环境变量,并设置settings.xml文件。 Tomcat的安装 搜索并下载Tomcat并安装,然后配置Tomcat,发布一个空的Web应用 2. SSM框架搭建 创建Maven项目 使用Maven创…

    Java 2023年6月15日
    00
  • Java中session存储Users对象实现记住密码

    当我们使用Java web开发时,常使用session来存储用户的信息以便在整个会话期间使用。如果想要实现记住密码功能,则需要将用户的用户名与密码存储在session对象中,并设置session的有效时间。下面是实现过程的完整攻略。 第一步:创建一个登录页面 首先我们需要创建一个登录页面,该页面包含一个用户名和密码的输入框以及一个“记住密码”的复选框。当用户…

    Java 2023年5月20日
    00
  • 纯css+js写的一个简单的tab标签页带样式

    下面是详细的攻略: 1. 简介 在网页设计中,常见的需求是需要通过标签页来展示内容,这时候就需要用到一个叫做“Tab标签页”的组件。Tab标签页可以让我们在有限的空间内,方便地切换内容,增加页面的互动性,使页面看起来更加充实。 本文将介绍一种纯CSS+JS的方式来实现一个简单的Tab标签页,并带有基本的样式,让菜鸟级别的前端设计师也能够轻松上手。 2. 实现…

    Java 2023年6月15日
    00
  • java获取文件大小的几种方法

    当我们需要获取文件的大小时,有多种方法可以实现。下面将介绍java中获取文件大小的几种方法。 使用File类的length方法获取文件大小 File类是Java中常用的文件操作类,它提供了获取文件大小的方法length。该方法返回的是文件的字节数。 import java.io.File; public class FileSizeTest { public…

    Java 2023年5月20日
    00
  • java线程池实现批量下载文件

    关于Java线程池实现批量下载文件,可以按照以下步骤进行: 1. 创建线程池 首先需要使用 Executors.newFixedThreadPool() 方法创建一个固定大小的线程池,例如: private static int THREAD_COUNT = 5; // 线程池大小 private static ExecutorService executo…

    Java 2023年5月19日
    00
  • Java开发工具IntelliJ IDEA安装图解

    下面我来给你详细讲解“Java开发工具IntelliJ IDEA安装图解”的完整攻略。 准备工作 在安装IntelliJ IDEA之前,我们需要先准备好Java环境。具体步骤如下: 1.下载并安装JDK。在官网下载 JDK,根据自己电脑的操作系统选择下载对应版本的JDK,并安装到默认路径下。 2.配置环境变量。将JDK的安装路径添加到系统环境变量中,具体步骤…

    Java 2023年5月26日
    00
  • 解决springmvc使用@PathVariable路径匹配问题

    解决SpringMVC使用@PathVariable路径匹配问题 在SpringMVC中,@PathVariable注解可以用于将URI中占位符的值绑定到方法的参数中,以此来实现RESTful风格的API。但是,在实际开发中,可能会遇到一些问题,比如@PathVariable无法匹配特殊字符。 为了解决这个问题,我们可以按照以下步骤进行操作: 1.在web.…

    Java 2023年6月15日
    00
  • SpringBoot Web依赖教程

    下面我将为您详细讲解“SpringBoot Web依赖教程”的完整攻略。 什么是SpringBoot Web依赖? SpringBoot是一个快速创建和开发Spring基础项目的框架,它自带了大量的依赖包,其中就包括了SpringBoot Web依赖。SpringBoot Web依赖可以让我们方便地创建Web应用程序,支持使用SpringMVC框架,并集成了…

    Java 2023年5月15日
    00
合作推广
合作推广
分享本页
返回顶部