まず、pomファイルにパッケージを追加します
<!--分页-->
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>5.1.2</version>
</dependency>
次に、構成ファイルに構成を追加します。ここにはspringContext.xmlがあり、一部の人はapplicationContext.xmlを持っています。とにかく、これはデータベース情報を含む構成ファイルです。
<!--分页配置-->
<bean class="com.github.pagehelper.PageInterceptor">
<property name="properties">
<props>
<prop key="helperDialect">mysql</prop>
<prop key="reasonable">true</prop>
</props>
</property>
</bean>
次に、サービスのメソッドを変更します。ここで行ったのは、ログインしてデータベース内のすべての記事を検索し、ホームページに表示した後の最初のジャンプです。
添加两个参数,page(当前页数),pagesize(当前页显示几条信息)
PageHelper.start是这个插件自带的方法。
public List<Page> findAll(Integer page,Integer pagesize) {
PageHelper.startPage(page,pagesize);
return pageMapper.findAll();
}
次に、コントロールレイヤー
@RequestParamを変更します。GETおよびPOSTリクエストで渡されたパラメーターは自動的に変換され、@ RequestParamで注釈が付けられた変数に割り当てられます。DefaultValue
:
サービスから取得した値をPageInfoに渡すためのデフォルト値を設定し、モデルパスに配置しますフロントエンドへ
public ModelAndView tiaozhuan(@RequestParam(defaultValue = "2")Integer page,@RequestParam(defaultValue = "6")Integer pagesize, Model model){
List<Page> list = pageService.findAll(page,pagesize);
PageInfo pi = new PageInfo(list);
ModelAndView mv = new ModelAndView();
mv.addObject("pagelists",pi);
mv.setViewName("/lunbo/findAll.do");
int size = list.size();
model.addAttribute("size",size);
model.addAttribute("pagelist",list);
return mv;
}
フロントエンドを再度変更すれば完了です。
<div class="box-tools pull-right">
<ul class="pagination">
<li><a href="${pageContext.request.contextPath}/page/alllist.do?page=1&pagesize=6" aria-label="Previous">首页</a></li>
<li><a href="${pageContext.request.contextPath}/page/alllist.do.do?page=${pagelists.pageNum-1}">上一页</a></li>
<c:forEach begin="1" end="${pagelists.pages}" var="pagenum">
<li><a href="${pageContext.request.contextPath}/page/alllist.do.do?page=${pagenum}&pagesize=6">${pagenum}</a></li>
</c:forEach>
<li><a href="${pageContext.request.contextPath}/page/alllist.do.do?page=${pagelists.pageNum+1}">下一页</a></li>
<li><a href="${pageContext.request.contextPath}/page/alllist.do.do?page=${pagelists.pages}&pagesize=6" aria-label="Next">尾页</a></li>
</ul>
</div>
最終レンダリング