JSP分页及分页显示实现
如果想在循环里加上条件,例如 for(int i = 0; i < 10; i++) 来处理行数和数据。若要一页显示10条记录,分多页显示,可在 JSP 里进行分页设定。设定变量来表示一页显示 JSP 分页 的数量,再用数据的总条数除以一页显示的条数,算出一共需要的页数。示例代码如下:
int count = 0;
int onePageSize = 6; // 一页显示的留言数
如果每次点击有取页码参数,比如 pageNow,可以使用以下循环来显示页码:
for (int i = pageNow; i <= (pageCount < pageNow + 9 ? pageCount : pageNow + 9); i++) {
out.println(" " + i + " ");
}
还可以添加“上一页”等操作。
可以写一个公共的 pageView.jsp 来显示分页信息,进行判断。示例代码如下:
<! -- 分页信息 -->
<c:if test="${page.totalPage > 1}">
<div align="right" style="margin: 0" class="pageview">
<div class="pages_numlnk" style="font-family: tahoma">
<! -- 显示页码 -->
</div>
</div>
</c:if>
实现跳转功能,在输入页码之后点击跳转,调用 test 函数,在该函数中实现跳转,同时需要对输入页码进行安全性验证,比如不能为空,必须是数字等。示例代码如下:
function test() {
// 这里还需要实现一些对于输入页码的安全性验证,比如不能为空,必须是数字这些
var page = document.getElementById("goPage").value;
window.location = "a.jsp?page=" + page;
}
使用分页功能,最关键的参数如下:
- 当前需要展示的页码,是一个变量,默认从第一页开始。它可能是通过页面上的上下页按钮,通过当前页码 ±1 来计算得到;也可能是页面有页码列表,用户通过点击相应数字或是在输入框手动输入的页码。
- 每页显示的数量,通常是一个变量,可以从页码提供相应的下拉框供用户选择。
可以通过更改前端 JS 获取 JSON 数据,更改 DIV 内容。示例代码如下:
$.ajax({
type: "POST",
url: "getPageDate.php", // 调用的 php 文件
data: "page=1",
success: function(msg) { // 回调函数
alert("Data Saved: " + msg);
$("#content").html("AJAX+JSON~~~");
}
});
可以写一个分页类,在 Servlet 中调用里面的方法取数据并传到 JSP 页面。示例代码如下:
package Tool;
import java.sql.*;
// 这里可能还有其他 import 语句
public class Pagination2 {
static int renum;
}





