`

jsp分页【原创】

阅读更多

这段时间的收获就是终于完成了分页。分页是在大二的时候听老师说过的,一直想做,想不到知道大四实习期才做出,环境真是很重要,如果不是老大要求,我一辈子也没有主动去写的哈哈哈。其实也不难的。

我的做法很简单的,分页就是:

得到一些要显示的数据,封装好,可以装在list这些容器里,然后写个分页算法,算法的目的是根据需要计算出显示list里面的数据的开始位置和结束位置,也就是所谓的一页有多少条记录,也就是记录段,而把记录段foreach出来,就是分页了。每当点击“下一页”或“上一页”时,机会刷新页面重新计算list的开始位置和结束位置以便输出新的数据(也就是新的一页了),这时候要注意上下文关系,一定要保存好上一次的位置,这点毋庸置疑的。以上就是这个思想。下面给出算法和一些代码判断以作记录。p.s.:代码是给我自己看的,所以不做注释。

String action = request.getParameter("action"); //动作,首页,下页,前页,最后页
if (action == null)
   action = "first";

String spage1 = request.getParameter("page"); //当前页数
spage1 = spage1 == null ? "1" : spage1;
int spage = new Integer(spage1).intValue();

String pagesize1 = request.getParameter("pagesize"); //每页有几条记录
pagesize1 = pagesize1 == null ? "3" : pagesize1;
int pagesize = new Integer(pagesize1).intValue();

//计算开始显示的行数
String st = (String) request.getAttribute("listsize");
System.out.println("st::" + st);
int totalrec = Integer.parseInt(st);
System.out.println("totalrec::" + totalrec);
Integer i_BeginRow = new Integer(0);
Integer i_EndRow = new Integer(0);
int i_Left = totalrec % pagesize; //剩余记录条数,除每页的页数后的余数
int totalpage = 0; //总页数
if (i_Left == 0)
   totalpage = totalrec / pagesize;
else
   totalpage = totalrec / pagesize + 1;

if ("first".equals(action)) { //第一页
   i_BeginRow = new Integer(0);
   if (totalpage == 1)
    i_EndRow = new Integer(totalrec - 1);
   else {
    if (pagesize >= totalrec)
     i_EndRow = new Integer(totalrec - 1);
    else
     i_EndRow = new Integer(pagesize - 1);
   }
}
if ("last".equals(action)) { //最后页
   i_BeginRow = new Integer((totalpage - 1) * pagesize);
   i_EndRow = new Integer(totalrec - 1);
}
if ("previous".equals(action)) { //前一页
   i_BeginRow = new Integer((spage - 1) * pagesize);
   i_EndRow = new Integer(spage * pagesize - 1);
}
if ("next".equals(action)) { //后一页
   i_BeginRow = new Integer((spage - 1) * pagesize);
   if (spage * pagesize >= totalrec)
    i_EndRow = new Integer(totalrec - 1);
   else
    i_EndRow = new Integer(spage * pagesize - 1);
}

System.out.println("i_BeginRow::" + i_BeginRow);
System.out.println("i_EndRow::" + i_EndRow);

request.setAttribute("begin",i_BeginRow);
request.setAttribute("end",i_EndRow);

 

function next(){
form1.action = "/present.info?pagePostion=backdoor&page=<%=spage + 1%>&action=next";
form1.submit();
}
function prev(){
form1.action = "/present.info?pagePostion=backdoor&page=<%=spage - 1%>&action=previous";
form1.submit();
}
function first(){
form1.action = "/present.info?pagePostion=backdoor&page=<%=1%>&action=first";
form1.submit();
}
function last(){
form1.action = "/present.info?pagePostion=backdoor&page=<%=totalpage%>&action=last";
form1.submit();
}


function check(){
form1.action = "/present.info?pagePostion=backdoor";
form1.submit();
}

 

 

<c:forEach var="present" items="${presents}" varStatus="var" begin="${begin}" end="${end}" step="1">
   

 

<%if (spage>1){%>
              <a href="javascript:first()">
              <%}%>
              首页
              <%if (spage>1){%>
              </a>
              <%}%>
               | 
              <%if (spage>1){%>
              <a href="javascript:prev()">
              <%}%>
              上一页
              <%if (spage>1){%>
              </a>
              <%}%>

分享到:
评论

相关推荐

    jsp分页组件(原创)

    **标题:“jsp分页组件(原创)”,描述与标签** 在IT行业中,分页是网页应用中的常见功能,尤其在处理大数据集时,它能够帮助用户有效地浏览和管理信息。这个“jsp分页组件”是一个原创的解决方案,专门用于Java ...

    【原创】struts+mysql+jsp 分页

    总结来说,"struts+mysql+jsp 分页"这个主题涉及到Struts框架中Action类的设计、MySQL数据库的分页查询以及JSP页面的动态渲染。通过合理的代码组织和利用MVC模式,可以实现高效、灵活的分页功能。在实际开发中,...

    原创jsp实现BBS论坛系统源代码

    【BBS论坛系统源代码详解】 ...总之,这个"原创jsp实现BBS论坛系统源代码"项目提供了学习和研究Web开发,特别是JSP和BBS系统构建的良好机会。通过深入分析和实践,可以提升对Java Web技术的理解和应用能力。

    原创技术:史上最灵活,强大的分页框架

    这篇原创技术文章所介绍的“史上最灵活、强大的分页框架”无疑是对现有分页解决方案的一次创新尝试。通过深入理解其设计原理和实现机制,我们可以学习到如何构建高效且易用的分页组件。 首先,我们来探讨一下分页的...

    java分页实现(有详细注释)

    该分页实现不需要详细看原理,直接把DAO中的两个方法和已经实现好的分页辅助bean加到你的项目中,再把分页辅助的jsp直接包含进来,只要在你的显示层加两句jsp就OK. ========================================== 原来也...

    [原创] 十全九美 分页插件

    - 插件名称:完美分页 - - Jar包名:dividPage.3.0.jar - - 版本:3.0 - - 开发人:杜凯(LEO) - - 开发时间:2010-4-1 - - 最后更新:2010-4-1 - --------------------------------------- == 更改处 2010-4-1 9点 ====...

    jsp+mvc个人网站(发布文章+评论+点赞)

    我的个人网站是以Tomcat为服务器,基于Model 1(JSP + Java Bean+servlet+mvc)的方式实现,数据库采用H2数据库。网站主要浏览文章,并且实现了增、删、改、查、分页等功能。 --------------------- 作者:qq_...

    Dislay分页

    1. **易用性**:DisplayTag提供了直观的标签语法,使得在JSP页面中实现分页和表格功能变得非常简单。 2. **可扩展性**:它支持自定义列格式化、国际化、导出等多种功能,可以根据项目需求进行定制。 3. **性能优化**...

    Struct.Hibernate.DisplayTag标签.js.Div.css.第4讲(zk原创).rar

    3. **DisplayTag**:DisplayTag 是一个开源的JSP标签库,用于创建复杂的表格和展示数据。它提供了一组丰富的标签,可以帮助开发者快速地创建数据列表、分页、排序等功能,大大提高了Web应用的开发效率。 4. **...

    [浪曦][原创][A337]Struts+Hibernate+DisplayTag标签+js+Div+css 第2讲(zk原创).rar

    **DisplayTag** 是一个用于Java Web开发的开源表格和展示标签库,它扩展了JSP的功能,提供了丰富的表格样式和排序、分页等高级特性。在教程中,你将学习如何导入DisplayTag库,使用其标签来展示数据,以及如何实现...

    [浪曦][原创][A335]Struct+Hibernate+DisplayTag标签+js+Div+css 第1讲(zk原创).rar

    【浪曦】是一个在线教育平台,本资源是其原创课程 "[A335]" 的第一讲,主要讲解了如何结合多种技术进行Web开发。在这个课程中,重点涉及了以下几个核心知识点: 1. **Structs**: Structs 是一个基于Spring MVC的轻...

    [浪曦原创]Struct+Hibernate+DisplayTag标签+js+Div+css 第4讲 (zk001).rar

    【DisplayTag】:DisplayTag是一个开源的JSP标签库,专为表格展示和页面分页设计。它提供了一种方便的方式来格式化和展示数据,减轻了开发者在HTML表格上的工作负担。本讲可能涉及了DisplayTag标签的使用方法,如...

    毕业设计任务书

    3. 主题要具有状态显示及类型显示,状态包括“正常”、“锁定”等,类型包括“原创”、“求助”等;可对帖子进行置顶操作。 4. 具有统计功能,包括当天新发布主题数、所有回复数,统计出每个主题已回复数。 5. 当前...

    AJAX实现无刷新简易聊天室

    【描述】中的“原创,jsp+ajax实现”表明这个项目是使用JavaServer Pages (JSP) 和 AJAX 结合的方式创建的。JSP 是一种服务器端的动态网页技术,它可以嵌入Java代码来处理HTTP请求和响应。通过结合AJAX,开发者可以在...

    【SSM模板】IDEA版,通用模板(包括所含技术的配置文件和demo)

    自己写项目写出来的SSM框架模板,纯原创。 需要可以自行购买,保证不亏。 遇到不懂得,可以私我留言。 =================================== 下面技术所需的所有配置及demo =================================== 所...

    oracle代码.rar

    学生选课管理系统代码...版权声明:本文为CSDN博主「aliceiwill」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/aliceiwill/article/details/84983993

Global site tag (gtag.js) - Google Analytics