13.分页操作(结合JSP、el表达式、Servlet案例)

1.1 概念

​ 分页是Web应用程序非常重要的一个技术。数据库中的数据可能是成千上万的,不可能把这么多的数据一次显示在浏览器上面。一般根据每行数据在页面上所占的空间设置每页显示若干行,比如一般20行是一个比较理想的显示状态。

1.2 分页实现思路

对于海量的数据查询,需要多少就取多少,显然是最佳的解决方法,假如某个表中有200万条记录,第一页取前20条,第二页取21~40条记录。

select  * from 表名 limit  0,20;//第一页
select  * from 表名 limit  20,20;//第二页
select  * from 表名 limit  40,20;//第三页
1.3 分页代码实现

步骤:

  1. 创建实体类Page 属性有:currentPage,pageSize,pageCount,totalCount,List
  2. 控制层获取Page对象,反馈到前端
  3. 业务层封装Page实体类属性值
  4. dao层完成获取总条数,分页查询SQL
  5. 前端分页展示
  • 分页需要的数据:
  • 1.当前页(前端传)
  • 2.页大小(4条)
  • 3.总条数(数据库求的)
  • 4.显示数据(通过SQL求)
  • 5.总页数(自己计算)
  • 总页数:总条数/页大小–判断 例如共12条–3页 13条—4页
  • long pageCount = (long)Math.ceil((double)totalCount/pageSize);
1.4分页实体类Page
public class Page <T> {
   
    private long currentPage;   //当前页
    private long pageSize;      //页大小
    private long pageCount;     //页数量-最好用long
    private long totalCount;    //总条数-最好用long
    private List<T> list;       //存内容
}
1.5分页控制层
@WebServlet("/show")
public class EmpController extends HttpServlet {
   
    private EmpService empService = new EmpServiceImpl();  //员工业务对象
    @Override
    protected 
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JSPServlet中进行分页查询的主要步骤如下: 1. 在JSP页面中,使用<a>标签创建一个链接到Servlet的URL。该链接将包含一个参数,用于指示要查询的页码。例如,可以使用以下代码创建一个链接到Servlet的URL: ```html <a href="<%= request.getContextPath() %>/action?page=<%= page + 1 %>">下一页</a> ``` 这里的`page`是一个变量,表示当前页码。 2. 在Servlet中,使用HttpServletRequest的getParameter方法获取请求中的参数值。例如,可以使用以下代码获取名为"page"的参数的值: ```java int page = Integer.parseInt(request.getParameter("page")); ``` 3. 在Servlet中,根据获取到的页码参数,进行相应的查询操作,获取需要显示的数据。 4. 将查询结果存储在适当的作用域对象中,例如使用request.setAttribute方法将查询结果存储在request对象中,以便在JSP页面中使用。 5. 在JSP页面中,使用EL表达式或JSTL标签库来显示查询结果。 需要注意的是,以上代码只是一个基本的示例,实际的实现可能会根据具体需求有所不同。另外,还可以考虑添加一些验证和错误处理的逻辑,以确保分页查询的正确性和稳定性。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [使用ServletJSP完成分页查询](https://blog.csdn.net/qq_33036061/article/details/83753789)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值