jsp假分页示例

0 篇文章 0 订阅
  在web开发过程中,不可避免的需要使用到分页的功能,jsp分页一般有真分页和假分页。例如mysql:真分页意思就是用limit查询语句从后台检索出结果集传回jsp页面显示。而假分页则是后台传回所有数据的list集合或者结果集,利用js或者游标等进行分页。(假分页一定程度上给服务器运行增加了压力)
      下面示例是 利用后台保存到session的一个list集合进行假分页的案例

<%@ page language="java" import="java.util.*,com.entity.*;" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head>

<body>
<%
List<User> data=(List<User>)session.getAttribute("user");

int totalNum=data.size();

int pageSize=1;

int currentPage=1;

String num=request.getParameter("page");
if(num!=null){
currentPage=Integer.parseInt(num);
}
if(currentPage<1){
currentPage=1;
}

int totalPage=totalNum/pageSize;
if(totalNum%pageSize!=0){
totalPage++;
}
if(currentPage>totalPage){
currentPage=totalPage;
}

int startNum=(currentPage-1)*pageSize;
int endNum=currentPage*pageSize-1;

if(endNum>=data.size()){
endNum=data.size()-1;
}
%>



<table>
<tr>
   <td>firstName</td><td>lastName</td><td>email</td><td></td><td></td>
</tr>
     <%for(int i=startNum;i<=endNum;i++){%>
     <%
           User p=(User)data.get(i);
     %>
    <tr>
        <td><%=p.getFirstName()%></td>
        <td><%=p.getLastName()%></td>
        <td><%=p.getEmail()%></td>
        <td></td>
        <td></td>
    </tr>
     <%}%>

<tr>
    <td>当前页:<%=currentPage%>/总共页:<%=totalPage%></td>
    <td><a href="user/JSP假分页.jsp?page=1">首页</a></td>
    <td><a href="user/JSP假分页.jsp?page=<%=currentPage-1%>">上一页</a></td>
    <td><a href="user/JSP假分页.jsp?page=<%=currentPage+1%>">下一页</a></td>
    <td><a href="user/JSP假分页.jsp?page=<%=totalPage%>">尾页</a><br/></td>
</tr>                                              
</table>
</body>
</html>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值