后端:
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// TODO Auto-generated method stub
int pageSize = 5;//初始化每页显示的记录条数
String pString = request.getParameter("pageNum");//获取参数(页码)
int pageNum = 1;//初始化页码值
if (!StringUtils.isBlank(pString)) {//如果获取的参数不为空且不是空格
pageNum = Integer.valueOf(pString);//将String型参数强转为int型
}
request.setAttribute("pageNum", pageNum);//以(key,value)形式存入数据,前端页面可以通过EL表达式直接获取
int offset = pageSize * (pageNum - 1);//计算偏移量,初始记录行的偏移量是0(而不是 1)
//例:每页显示五条数据,以id作为主键查询,第一页对应id{1,2,3,4,5},对应偏移量{0,1,2,3,4}
Connection connection = null;
Statement statement = null;
ResultSet resultSet = null;
try {
connection = (Connection) DBUtil.getConnection();
statement = (Statement) connection.createStatement();
String sql = "SELECT * FROM t_user order by id desc limit " + offset + "," + pageSize;//查询t_user表的所有记录,以id倒排的形式显示记录,每页显示5条记录
System.out.println(sql);
resultSet = statement.executeQuery(sql);//执行sql语句
RequestDispatcher dispatcher = request.getRequestDispatcher("userList.jsp");//转发到前端页面
dispatcher.forward(request, response);
return;
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
} finally {
DBUtil.close(connection, statement, resultSet);//关流
}
}
前端:
<!--在jsp页面中引入c和fn -->
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn"%>
<c:if test="${ pageNum >1 }"><!--判断,如果页码>1 -->
<a href="/blog/showUsers?pageNum=${pageNum-1}">上一页</a><!--添加文字链接到上一页 -->
</c:if>
<c:if test="${ fn:length(userList) >=5 }"><!--判断,如果list长度>=5 -->
<a href="/blog/showUsers?pageNum=${pageNum+1}">下一页</a><!--添加文字链接到下一页 -->
</c:if>
<!--在jsp页面中不能通过${list.size}取列表长度-->