Java实现页面显示中的信息分页
来源:互联网 发布:软件系统性能指标要求 编辑:程序博客网 时间:2024/06/05 05:45
首先,我们一般在页面中经常会看到这样的页面:上一页,下一页,跳转到**页等等这样的分页信息,大概的表格信息如下图:
所以,我们通过Java代码去大概实现后端-》前端的大概流程
1. 看到这个分页的界面,首先应该将分页的相关信息进行封装JavaBean:代码如下
package com.yangguang.domain;import java.util.List;public class Page {private List<Book> records;private int pageSize = 3;//每页显示的条数private int totalPage;//总页码数private int currentPageNum;//当前页码private int prePageNum;//上一页private int nextPageNum;//下一页private int startIndex;//每页开始记录的索引private int totalRecords;//总记录条数private String url;public Page(int currentPageNum,int totalRecords) {this.currentPageNum = currentPageNum;this.totalRecords = totalRecords;totalPage = totalRecords % pageSize == 0?totalRecords/pageSize:totalRecords/pageSize+1;startIndex = (currentPageNum-1)*pageSize;}public List<Book> getRecords() {return records;}public void setRecords(List<Book> records) {this.records = records;}public int getPageSize() {return pageSize;}public void setPageSize(int pageSize) {this.pageSize = pageSize;}public int getTotalPage() {return totalPage;}public void setTotalPage(int totalPage) {this.totalPage = totalPage;}public int getCurrentPageNum() {return currentPageNum;}public void setCurrentPageNum(int currentPageNum) {this.currentPageNum = currentPageNum;}public int getPrePageNum() {prePageNum = currentPageNum -1;if(prePageNum < 1) {prePageNum = 1;}return prePageNum;}public void setPrePageNum(int prePageNum) {this.prePageNum = prePageNum;}public int getNextPageNum() {nextPageNum = currentPageNum + 1;if(nextPageNum > totalPage) {nextPageNum = 1;}return nextPageNum;}public void setNextPageNum(int nextPageNum) {this.nextPageNum = nextPageNum;}public int getStartIndex() {return startIndex;}public void setStartIndex(int startIndex) {this.startIndex = startIndex;}public int getTotalRecords() {return totalRecords;}public void setTotalRecords(int totalRecords) {this.totalRecords = totalRecords;}public String getUrl() {return url;}public void setUrl(String url) {this.url = url;}}
封装好页面信息之后,我们需要去设计接口
2.第二步就是设计借口了。在图书管理的DAO层接口中,增加了3个函数:
接口实现如下:
public Book findById(String bookId) {try { return qRunner.query("select * from books where id=?", new BeanHandler<Book>(Book.class), bookId);} catch (SQLException e) {throw new RuntimeException(e);}}public int findAllBooksNumber() {try {Object object = qRunner.query("select count(*) from books", new ScalarHandler(1));Long num = (Long)object;return num.intValue();} catch (SQLException e) {throw new RuntimeException(e);}}public List<Book> findPageBooks(int startIndex, int offset) {try {return qRunner.query("select * from books limit ?,?", new BeanListHandler<Book>(Book.class),startIndex,offset);} catch (SQLException e) {throw new RuntimeException(e);}}
3. 在service层,设计接口及实现:
接口实现代码:
public Page findAllBookPageRecords(String pagenum) {int currentPageNum = 1;if (pagenum != null) {currentPageNum = Integer.parseInt(pagenum);}int totalRecords = bookDao.findAllBooksNumber();Page page = new Page(currentPageNum, totalRecords);page.setRecords(bookDao.findPageBooks(page.getStartIndex(), page.getPageSize()));return page;}
4.前端页面设计:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><%@ include file="/manager/header.jsp" %><br/><br/><table border="1" width="638" align="center"> <tr> <th>选择</th> <th>书名</th> <th>作者</th> <th>单价</th> <th>描述</th> <th>所属分类</th> <th>图片</th> <th>操作</th> </tr> <c:forEach items="${page.records}" var="book" varStatus="vs"> <tr class="${vs.index%2==0?'odd':'even'}"> <td> <input type="checkbox" name="ids" value="${book.id}"/> </td> <td>${book.name}</td> <td>${book.author}</td> <td>${book.price}</td> <td>${book.description}</td> <td>${book.categoryId}</td> <td> <img src="E:/学习测试程序/JavaTest/Project1_BookStore/WebContent/images${book.path}/${book.photoFileName}"/> </td> <td> <a href="javascript:alert('已修改')">修改</a> <a href="javascript:alert('已删除')">删除</a> </td> </tr></c:forEach><tr></tr></table><br/>第${page.currentPageNum}页/共${page.totalPage}页 <a href="${pageContext.request.contextPath}/servlet/ControlServlet?op=showAllBooks&num=${page.prePageNum}">上一页</a> <a href="${pageContext.request.contextPath}/servlet/ControlServlet?op=showAllBooks&num=${page.nextPageNum}">下一页</a> </body></html>
项目代码课参考:https://github.com/yangguang010/Java_Project.git
阅读全文
0 0
- Java实现页面显示中的信息分页
- 实验二:分页显示数据库信息(jsp页面直接分页)
- Java Web中的分页显示——通过界面实现
- Java中的分页实现
- jsp实现分页显示图书信息
- WEB页面_页面分页加筛选条件,显示列表信息(将分页信息和筛选信息一起提交)
- java-用SSH框架实现将查询的信息分页显示
- JAVA和MySQL实现分页和页面跳转指定当前显示页数的问题
- 在java页面中实现分页效果
- java后台如何实现页面分页功能
- Java Web中的分页显示——在模型中实现
- java web实现分页显示数据
- jsp分页显示Java代码实现
- Java swing实现分页显示代码
- Java实现简单分页查询显示
- struts 下面的页面分页显示的实现(之一)
- struts 下面的页面分页显示的实现
- struts 下面的页面分页显示的实现
- Android开发,自定义View(三)-----圆环交替 等待效果
- PERT图相关计算
- F_CPU not defined for <util/delay.h> 问题解决
- Java泛型
- Apollo 1.0 指南
- Java实现页面显示中的信息分页
- linux的ipv6解决方案
- 容器云下hadoop集群的搭建
- 基于TCP的RTSP/RTP流媒体传输
- linux设置简化命令
- iOS之UIView Animations
- React创建组件的三种方式及其区别
- Java generics. Explain why Java prohibits generic array creation.
- oracle添加静态监听