`
thinktothings
  • 浏览: 777572 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

display table 外部分页 不支持排序

    博客分类:
  • JSP
阅读更多

display table 外部分页 不支持排序

 

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

web.xml

 

<servlet>
        <description>This is the description of my J2EE component</description>
        <display-name>This is the display name of my J2EE component</display-name>
        <servlet-name>CustomerServlet</servlet-name>
        <servlet-class>com.tht.customer.servlet.CustomerServlet</servlet-class>
    </servlet>

    <servlet-mapping>
        <servlet-name>CustomerServlet</servlet-name>
        <url-pattern>/servlet/CustomerServlet</url-pattern>
    </servlet-mapping>

 

 

 

    <jsp-config>
        <taglib>

            <taglib-uri>http://jsptags.com/tags/navigation/pager</taglib-uri>

            <taglib-location>/WEB-INF/pager-taglib.tld</taglib-location>

            </taglib>

    </jsp-config>

 

result.jsp   sort="external"  不需要

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


<%@ taglib  prefix="display" uri="http://displaytag.sf.net" %>



<head>
            <link rel="stylesheet" href="<%=request.getContextPath()%>/css/print.css" type="text/css" media="print" />
        <link rel="stylesheet" href="<%=request.getContextPath()%>/css/screen.css" type="text/css" media="screen,print" /> 

  </head>

<body>

    <display:table name="list"
                class="its" id="item" name="list"  defaultsort="1" pagesize="${pageSize}" partialList="true" size="resultSize"  requestURI="/displaypagination/servlet/CustomerServlet"> 
             
                <display:column property="id"  title="I" ></display:column>
                <display:column property="numcuguid"  title="ID" ></display:column>
                <display:column property="vc2cuname"  title="vc2cuname" ></display:column>
                <display:column property="vc2cucode" title="vc2cucode"  ></display:column>
            </display:table>   


<body>

 

Servlet部分

1、页面请求,会把请求的页码数传给后台:

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


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

//总记录数
        int totalCount=new BaseDao<CustomerServlet>().getTotalCount("select count(*) from ct_cuinfo");


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

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


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

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

}

 

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

 

  • 大小: 9.3 KB
分享到:
评论

相关推荐

    display table外部分页,支持外部排序

    "display table外部分页,支持外部排序"这个主题主要涉及两个关键概念:外部分页和外部排序。 外部分页(External Pagination)指的是当数据存储在数据库或其他外部存储介质中时,只在用户需要时从服务器获取相应页...

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

    "display table 外部分页 支持当前页排序"这个主题聚焦于如何在网页上有效地显示大量表格数据,同时提供分页功能和当前页面的排序能力。这种技术常用于Web应用程序,如后台管理系统、数据分析平台等,旨在提升用户...

    java ee 表格的绘制

    通过设置`border`、`padding`、`color`、`font-family`等属性调整表格的外观,使用`width`、`height`控制尺寸,`display: table-cell`确保元素按表格布局排列。 4. JavaScript与jQuery JavaScript和jQuery可以用来...

    基于jquery实现的表格分页实现代码

    这表示实现分页功能的同时,还可以提供列排序的功能。同时,表格的样式通过引用外部的CSS文件来定义,以保证代码的可读性和可维护性。 7. 代码可扩展性:在使用jQuery进行表格分页的实现时,应当考虑代码的可扩展性...

    表格樣式

    可能还会涉及到现代前端框架(如Bootstrap)中预设的表格样式,或者使用JavaScript和jQuery实现交互效果,如排序、筛选和分页。 标签中的“工具”可能暗示着一些辅助工具或库,比如CSS预处理器(如Sass、Less)能...

    常用jar包

    4. **使用标签**:在JSP页面中,使用Displaytag的标签如`&lt;display:table&gt;`、`&lt;display:column&gt;`等来定义表格和列。 5. **配置属性**:通过设置标签的属性,如`export`, `sort`, `paging`等,来开启或调整Displaytag...

    FlexiGrid使用手册

    &lt;table id="flexTable" style="display: none"&gt;&lt;/table&gt; ``` c. 编写JavaScript代码初始化FlexiGrid: ```javascript $(document).ready(function(){ var grid=$("#flexTable").flexigrid({ width: 760, ...

    前端笔试题-2020年2月27日.docx

    2. **link 和 @import 区别**:`link`是HTML标签,用于引入外部CSS文件,可实现异步加载,支持浏览器缓存,同时可以实现DNS预解析,加载性能更好;`@import`是CSS语法,只能在CSS文件内部使用,会阻塞页面渲染直到...

    cms后台管理

    &lt;class name="MyContent" table="jc_mycontent"&gt; &lt;meta attribute="sync-DAO"&gt;false&lt;/meta&gt; &lt;cache usage="read-write"/&gt; &lt;id name="id" type="java.lang.Integer" column="id"&gt;&lt;generator class=...

Global site tag (gtag.js) - Google Analytics