表格分页

我的思路:

1.分析:主要包含当前页(currentPage)、每页的条数(pageSize)、总页数(totalPage),总条数(count)通过sql语句获取。

SELECT * FROM stuinfo LIMIT 0,3;-- 分页,偏移量,从第一条记录开始,显示三条数据

SELECT * FROM stuinfo LIMIT (currentPage-1)*pageSize,pageSize;-- 分页公式

INT totalPage=Math.ceil(COUNT*1.0/pageSize);-- 总页数,总条数/每页显示条数,向上取整

SELECT COUNT(*) FROM stuinfo;-- 计算总条数

2..写好jsp页面,包括表格、上一页或下一页的跳转按钮。

3.写好javaBean类,包含currentPage、pageSize、totalPage、count、list(每页的数据)。

4.写web层servlet:

a.先定义currentPage为1,pageSize为4。

b.添加非空判断,第一次访问资源,可能为空,如果不做非空判断只能显示第一页。

String currPage = request.getParameter("currentPage");
if(currPage!=null){
currentPage=Integer.parseInt(currPage);
}

c.调用业务逻辑,注意把currentPagepageSize作为参数传递,通过PageBean创建对象接值。

d.分发转向,将接到值放入setAttribute,并跳转到table(表)页面。

5.写service层进行逻辑处理:

a.调用dao层的方法,求出总条数。通过count/pageSize得到总页数,总页数一般作为最后一页。

b.调用dao层的方法,求出当前页的数据集合,并接收。创建javaBean对象,将currentPage、pageSize、totalPage、count、list都存入(set)。

c.注意,一定要返回创建的对象!

6.写dao层获取数据:

a.写求总条数的方法,sql语句为"select count(*) from table",注意以long类型接值,并返回int类型。

b.写求list的方法,sql语句为""SELECT * FROM stuinfo LIMIT ?,?"",当前页为(currentPage-1)*pageSize,每页数据数量pageSize。

7.回到jsp界面添加跳转链接,并分析:

a.上一页下一页跳转判断

首页为1

${pb.currentPage==1?1:pb.currentPage-1}上一页

${pb.currentPage==pb.totalPage?pb.totalPage:pb.currentPage+1}下一页

${pb.totalPage}尾页

${pb.currentPage }/${pb.totalPage }当前页面

b.表格内的数据需要从javaBean里的list集合中获取。

c.特别注意的是:jsp页面第二行要添加<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> ,用于调用EL表达式

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Flask中实现表格分页通常需要以下步骤: 1. 安装所需的依赖:在你的Flask项目中,你可以使用Flask插件或者其他第三方库来实现表格分页。一些常用的插件包括Flask-Paginate和Flask-Bootstrap。 2. 创建表格:你需要创建一个用于显示数据的表格。你可以使用Flask插件或者手动创建HTML表格模板。确保你的表格支持分页功能。 3. 获取数据:从数据库或其他数据源中获取需要展示的数据。你可以使用SQLAlchemy等库来操作数据库。 4. 分页处理:使用Flask插件或者编写自定义逻辑来处理分页。你需要将数据切片成每一页的大小,并根据用户的请求来选择要显示的页数。 5. 在模板中渲染表格:将分页后的数据传递给模板,并在模板中渲染表格。你可以使用模板引擎,如Jinja2,来动态生成HTML。 6. 实现前端交互:为了实现用户在前端切换页码的功能,你可以使用JavaScript和AJAX来发送请求并更新表格内容,而无需刷新整个页面。 下面是一个简单的示例代码: ```python from flask import Flask, render_template from flask_paginate import Pagination, get_page_args app = Flask(__name__) @app.route('/', methods=['GET']) def index(): # 模拟从数据库获取数据 data = range(100) # 分页处理 page, per_page, offset = get_page_args() per_page = 10 offset = (page - 1) * per_page pagination_data = data[offset: offset + per_page] # 创建分页对象 pagination = Pagination(page=page, total=len(data), per_page=per_page, css_framework='bootstrap4') return render_template('index.html', data=pagination_data, pagination=pagination) if __name__ == '__main__': app.run() ``` 在上面的代码中,我们使用`Flask-Paginate`插件来处理分页逻辑。在模板`index.html`中,你可以使用`pagination`对象来渲染分页导航栏,并使用`data`来渲染表格内容。 请注意,这只是一个简单的示例,你可能需要根据你的具体需求进行适当的调整和扩展。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值