热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

displaytable外部分页支持当前页排序

display table 外部分页 支持当前排序  需求:根据当前面码数currentPage,每页记录数pageSize,数据总记录数totalCount,进行分页,算

display table 外部分页 支持当前排序

 

需求:根据当前面码数currentPage,每页记录数pageSize,数据总记录数totalCount,进行分页,算出,每页的数据开始索引startIndex和结束索引endIndex

 

 

web.xml

 


        This is the description of my J2EE component
        This is the display name of my J2EE component
        CustomerServlet
        com.tht.customer.servlet.CustomerServlet
   


   
        CustomerServlet
        /servlet/CustomerServlet
   

 

 

 

   
       

            http://jsptags.com/tags/navigation/pager

            /WEB-INF/pager-taglib.tld

           


   

 

result.jsp

当设定 partialList="true"时,自动进行当前页排序


<%&#64; taglib  prefix&#61;"display" uri&#61;"http://displaytag.sf.net" %>




            /css/print.css" type&#61;"text/css" media&#61;"print" />
        /css/screen.css" type&#61;"text/css" media&#61;"screen,print" /> 

 


                    class&#61;"its" id&#61;"item" name&#61;"list"  defaultsort&#61;"1" pagesize&#61;"${pageSize}" partialList&#61;"true" size&#61;"resultSize"  requestURI&#61;"/displaypagination/servlet/CustomerServlet"> 
             
               
               
               
               
           
   


 

Servlet部分

1、页面请求&#xff0c;会把请求的页码数传给后台&#xff1a;

//得到当前页的字符串
        String strP&#61;request.getParameter((new ParamEncoder("item").encodeParameterName(TableTagParameters.PARAMETER_PAGE)));
   
        //请求的需要显示的页码数
        int currentPage&#61;0;
        if(strP&#61;&#61;null){
            currentPage&#61;1;
        }else{
            currentPage&#61;Integer.parseInt(strP);
        }
        //当前页
        System.out.println("currentPage:"&#43;currentPage);


2、通过后台方式得到数据库中的总记录数:

//总记录数
        int totalCount&#61;new BaseDao().getTotalCount("select count(*) from ct_cuinfo");


3、算出开始索引和结束索引

提供参数值  int currerntPage,int pageSize,int totalCount


/**
 * oracle分页工具类
 * &#64;author liuwen
 * 传参进来  int currerntPage,int pageSize,int totalCount
 *
 */
public class PageTools {
   
    int resultSize&#61;100;  //总页数
    int pageSize&#61;5;//    每页显示的记录数
    int totalCount&#61;0;   //总记录数
    int currerntPage&#61;0;//当前页码数
   
    int startIndex&#61;0;//开始记录索引
    int endIndex&#61;0;  //结束记录索引
   
   
    /**
     *
     * &#64;param currerntPage  当前页码数
     * &#64;param pageSize      每页显示的记录条数
     * &#64;param totalCount    总记录数
     */
    public PageTools(int currerntPage,int pageSize,int totalCount){
        this.currerntPage&#61;currerntPage;
        this.pageSize&#61;pageSize;
        this.totalCount&#61;totalCount;
        calResultSize(); //计算总页数  计算优先级别1
        calStartIndexAndEndIndex(); //计算开始的rownum和结束的rownum   计算优先级别2
    }
   
    /**
     * 计算总页数  计算优先级别1
     */
    public void calResultSize(){

        int modTotal&#61;this.totalCount%pageSize;
        if(modTotal&#61;&#61;0){
            resultSize&#61;this.totalCount/pageSize;
        }else{
            resultSize&#61;this.totalCount/pageSize&#43;1;
        }
    }
    /**
     * 计算开始的rownum和结束的rownum   计算优先级别2
     */
    public void calStartIndexAndEndIndex(){
        if(currerntPage&#61;&#61;1){
            startIndex&#61;0;
        }else{
            startIndex&#61;(currerntPage-1)*pageSize;
        }
       
        endIndex&#61;currerntPage*pageSize&#43;1;
       
       
    }
   

}

 

3、通过开始索引和结束索引查出请求页码数据&#xff0c;显示给前端

 




推荐阅读
  • C#中实现高效UDP数据传输技术
    C#中实现高效UDP数据传输技术 ... [详细]
  • 如何使用 net.sf.extjwnl.data.Word 类及其代码示例详解 ... [详细]
  • 如何在Spark数据排序过程中有效避免内存溢出(OOM)问题
    本文深入探讨了在使用Spark进行数据排序时如何有效预防内存溢出(OOM)问题。通过具体的代码示例,详细阐述了优化策略和技术手段,为读者在实际工作中遇到类似问题提供了宝贵的参考和指导。 ... [详细]
  • 在运行时动态获取Entity Framework中的ObjectSet可以通过反射机制实现。这种方法允许开发者在应用程序运行期间根据需要加载不同的实体集合,从而提高代码的灵活性和可扩展性。通过使用`DbContext`类的`Set`方法,结合类型信息,可以轻松地实现这一目标。此外,还可以利用`Type`对象和泛型方法来进一步增强动态性,确保在处理多种实体类型时更加高效和安全。 ... [详细]
  • 使用cpphttplib构建HTTP服务器以处理带有查询参数的URL请求 ... [详细]
  • 本文将详细介绍在Android应用中添加自定义返回按钮的方法,帮助开发者更好地理解和实现这一功能。通过具体的代码示例和步骤说明,本文旨在为初学者提供清晰的指导,确保他们在开发过程中能够顺利集成返回按钮,提升用户体验。 ... [详细]
  • 优化后的标题:数据网格视图(DataGridView)在应用程序中的高效应用与优化策略
    在应用程序中,数据网格视图(DataGridView)的高效应用与优化策略至关重要。本文探讨了多种优化方法,包括但不限于:1)通过合理的数据绑定提升性能;2)利用虚拟模式处理大量数据,减少内存占用;3)在格式化单元格内容时,推荐使用CellParsing事件,以确保数据的准确性和一致性。此外,还介绍了如何通过自定义列类型和优化渲染过程,进一步提升用户体验和系统响应速度。 ... [详细]
  • 在ASP.NET MVC项目中,通过实战解决了Ajax请求500错误及多表数据查询的问题。具体而言,将页面分为两个部分,用户点击右侧导航栏时,通过Ajax请求动态加载数据,并在右侧显示相应的页面内容。最初尝试使用Partial Action方法,但遇到了500错误。通过详细排查和调试,最终成功解决了这一问题,并实现了预期功能。此外,还优化了多表数据查询的性能,确保系统的高效运行。 ... [详细]
  • 本文深入探讨了 iOS 开发中 `int`、`NSInteger`、`NSUInteger` 和 `NSNumber` 的应用与区别。首先,我们将详细介绍 `NSNumber` 类型,该类用于封装基本数据类型,如整数、浮点数等,使其能够在 Objective-C 的集合类中使用。通过分析这些类型的特性和应用场景,帮助开发者更好地理解和选择合适的数据类型,提高代码的健壮性和可维护性。苹果官方文档提供了更多详细信息,可供进一步参考。 ... [详细]
  • 深入解析 Django 中用户模型的自定义方法与技巧 ... [详细]
  • 本文详细探讨了Java集合框架的使用方法及其性能特点。首先,通过关系图展示了集合接口之间的层次结构,如`Collection`接口作为对象集合的基础,其下分为`List`、`Set`和`Queue`等子接口。其中,`List`接口支持按插入顺序保存元素且允许重复,而`Set`接口则确保元素唯一性。此外,文章还深入分析了不同集合类在实际应用中的性能表现,为开发者选择合适的集合类型提供了参考依据。 ... [详细]
  • 利用C#技术实现Word文档的动态生成与编辑
    本文通过一个简单的示例,介绍了如何使用C#语言实现Word文档的动态生成与编辑功能。文章详细阐述了在项目中引用Word动态库的方法,并通过具体代码示例展示了如何创建和操作Word表格。此内容旨在为初学者提供参考和学习资料,欢迎读者提出宝贵意见和建议。 ... [详细]
  • Spring Boot 实战(一):基础的CRUD操作详解
    在《Spring Boot 实战(一)》中,详细介绍了基础的CRUD操作,涵盖创建、读取、更新和删除等核心功能,适合初学者快速掌握Spring Boot框架的应用开发技巧。 ... [详细]
  • 本文探讨了如何在C#中实现USB条形码扫描仪的数据读取,并自动过滤掉键盘输入,即使不知道设备的供应商ID(VID)和产品ID(PID)。通过详细的技术指导和代码示例,展示了如何高效地处理条形码数据,确保系统能够准确识别并忽略来自键盘的干扰信号。该方法适用于多种USB条形码扫描仪,无需额外配置设备信息。 ... [详细]
  • 开发心得:深入探讨Servlet、Dubbo与MyBatis中的责任链模式应用
    开发心得:深入探讨Servlet、Dubbo与MyBatis中的责任链模式应用 ... [详细]
author-avatar
mobiledu2502889497
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有