关于分模块的SSM项目页面分页功能的实现

本文介绍如何在分模块的SSM项目中实现页面分页功能。首先通过findAll方法获取所有用户数据,添加page和size参数进行分页。接着利用PageInfo类实现翻页和跳转功能。同时强调在新增、删除等其他功能中也要传递page和size参数,以确保分页功能正常工作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

关于分模块的SSM项目页面分页功能的实现

这个博客紧接着上一个博客。再上一个博客中,我们已经实现了登录的功能。今天主要的任务是显示用户列表,并能够实现分页功能。
首先是显示用户列表:与前一个项目类似,我们需要一个findAll函数,用来返回表中所有的数据。我们需要在dao层与service层的接口中定义findAll函数,在service层中的实现类中被实现,在controller层中通过点击事件"findAll.do"来调用。这些都是上一个项目中我们已经实现的内容,这里就不赘述了。关键在于分页功能的实现。
对于分页功能,我们首先应该给findAll函数增加两个传递参数:int page和int size,分别代表页数和每页应该含有几行数据。然后,调用PageInfo类来产生一个对象,并通过addObject函数将这个对象传递进下一个页面。具体的实现如下所示:

    @RequestMapping("findAll.do")
    public ModelAndView findAll(int page,int size) {
        List<UserInformation> infos = userService.findAll(page,size);
        PageInfo pageInfo = new PageInfo(infos);
        ModelAndView mv = new ModelAndView();
        mv.addObject("pageInfo", pageInfo);
        mv.setViewName("user-list");
        return mv;
    }

但是仅仅这样还是无法实现分页功能,原因是目录的上一页、下一页等功能还没有实现,我们还需要实现这些功能,具体的实现如下代码段所示:

<ul class="pagination">
		<li><a href="${pageContext.request.contextPath}/user/findAll.do?page=1&size=5" aria-label="Previous">首页</a></li>
		<li><a href="${pageContext.request.contextPath}/user/findAll.do?page=${pageInfo.pageNum-1}&size=5">上一页</a></li>
		<c:forEach begin="1" end="${pageInfo.pages}" var="pageNum">
		   <li><a href="${pageContext.request.contextPath}/user/findAll.do?page=${pageInfo.pageNum}&size=5">${pageNum}</a></li>
		</c:forEach>

		<li><a href="${pageContext.request.contextPath}/user/findAll.do?page=${pageInfo.pageNum+1}&size=5">下一页</a></li>
		<li><a href="${pageContext.request.contextPath}/user/findAll.do?page=${pageInfo.pages}&size=5" aria-label="Next">尾页</a></li>

这样就可以实现翻页、跳转到页数的功能。
这样就可以实现了分页的功能。但是,要注意的是,在写完分页功能后,一定要把前面实现的新增用户、删除用户等等功能需要添加page和size两个参数,原因是我们需要给user-list页面page和size两个参数,前面几个功能没有传递这两个参数但是又需要实现分页功能就会报错。所以我们需要做出修改。具体修改以controller层的删除功能为例:

 @RequestMapping("/delete.do")
    public String delete(int id){
        userService.delete(id);
        return "redirect:/user/findAll.do?page=1&size=5";
    }

这样就可以将两个参数传递进页面并实现分页功能。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值