JFinal写分页代码
时间: 2024-05-13 21:16:51 浏览: 114
JFinal 提供了一个非常方便的分页插件,使用起来非常简单。
首先,在 Controller 中获取分页数据:
```java
public void index() {
int pageNum = getParaToInt("pageNum", 1);
int pageSize = getParaToInt("pageSize", 10);
Page<User> userPage = User.dao.paginate(pageNum, pageSize, "select *", "from user order by id asc");
setAttr("userPage", userPage);
render("index.html");
}
```
其中,`pageNum` 是当前页码,`pageSize` 是每页显示的数据条数。`User` 是数据表对应的 model 类。
然后,在视图文件 `index.html` 中,渲染分页数据:
```html
<table>
<thead>
<tr>
<th>ID</th>
<th>姓名</th>
<th>性别</th>
<th>年龄</th>
</tr>
</thead>
<tbody>
#for(user in userPage.getList()) {
<tr>
<td>${user.id}</td>
<td>${user.name}</td>
<td>${user.sex}</td>
<td>${user.age}</td>
</tr>
#}
</tbody>
</table>
<div class="pagination">
<ul>
#if(userPage.getPageNumber() > 1) {
<li><a href="?pageNum=${userPage.getPrePageNumber()}&pageSize=${userPage.getPageSize()}">上一页</a></li>
#}
#for(pn in userPage.getPageNumbers()) {
#if(pn == userPage.getPageNumber()) {
<li class="active">${pn}</li>
#} else {
<li><a href="?pageNum=${pn}&pageSize=${userPage.getPageSize()}">${pn}</a></li>
#}
#}
#if(userPage.getPageNumber() < userPage.getTotalPage()) {
<li><a href="?pageNum=${userPage.getNextPageNumber()}&pageSize=${userPage.getPageSize()}">下一页</a></li>
#}
</ul>
</div>
```
其中,`userPage.getList()` 获取当前页的数据列表,`userPage.getPageNumber()` 获取当前页码,`userPage.getTotalPage()` 获取总页数,`userPage.getPrePageNumber()` 获取上一页页码,`userPage.getNextPageNumber()` 获取下一页页码。
使用 JFinal 的分页插件,可以非常方便地实现分页功能。
阅读全文