用于分页的Java标记库

用于分页的Java标记库,java,jsp,jstl,Java,Jsp,Jstl,我试图使用JSTL在现有JSP代码中创建分页,但我不确定在其中一个示例中看到的以下语法 <sql:setDataSource var="dataSrc" url="jdbc:oracle:thin:@127.0.0.1:1521:database_name" driver="oracle.jdbc.driver.OracleDriver" user="user_name" password="pass_word"/> 然后运行一个查询:

我试图使用JSTL在现有JSP代码中创建分页,但我不确定在其中一个示例中看到的以下语法

    <sql:setDataSource var="dataSrc"
     url="jdbc:oracle:thin:@127.0.0.1:1521:database_name"
     driver="oracle.jdbc.driver.OracleDriver"
     user="user_name" password="pass_word"/>

然后运行一个查询:

    <sql:query var="queryResults" dataSource="${dataSrc}">
    select system_id, employeename from employees
    </sql:query>

从employees中选择system_id、employeename
然后,在网页上显示结果:

    <table>
    <tr>
    <th>ID</th>....

身份证件

我的问题是
,如果您有一点额外的知识,就可以使用Struts 2.0分页

下面的JSP代码spinet参考指南

<pg:pager
items="<%= searchResultPagerSize %>"
index="center"
url=""
maxPageItems="<%= numberOfItemsPerPage %>"
maxIndexPages="<%= maxNumberOfPagesToShow %>"
isOffset="<%= true %>"
export="offset,currentPageNumber=pageNumber"
scope="request">

<%-- START: the visual element of the pager --%>
<%--
START: You can take any of the pages in the pagertags war file in the folder /WEB-INF/JSP and put them in here instead
--%>
<pg:index export="totalItems=itemCount">
    <pg:page export="firstItem, lastItem">
        <div class="resultInfo">
            Displaying results <strong><%= firstItem%>-<%= lastItem%></strong> of <strong><%= totalItems%></strong> found
        </div>
    </pg:page>

    <div class="rnav">
        <span class="rnavLabel">Results:</span> 
        <pg:prev export="pageUrl">
            <a href="<%= pageUrl%>" class="rnavLink">« Prev</a> 
        </pg:prev>
        <pg:pages export="pageUrl,pageNumber,firstItem,lastItem">
            <% if (pageNumber == currentPageNumber) {%>
             <span class="rnavCurr"><%= firstItem%>-<%= lastItem%></span>
            <% } else {%>
             <a href="<%= pageUrl%>" class="rnavLink"><%= firstItem%>-<%= lastItem%></a>
            <% }%>
        </pg:pages>
        <pg:next export="pageUrl">
              <a href="<%= pageUrl%>" class="rnavLink">Next »</a>
        </pg:next>
    </div>
</pg:index>
<%--
END: You can take any of the pages in the pagertags war file in the folder /WEB-INF/JSP and put them in here instead
--%>
<%-- END: the visual element of the pager --%>

显示找到的的结果-
结果:
-


有关完整的参考信息,请参阅。我想这正是您所需要的。

我以前写过自己的分页标签——我真希望我没有写

我建议你去看看。它是一个易于使用的开源标记库,应该可以满足所有分页需求。它生成的HTML是干净的,符合标准,最重要的是,它已经被编写出来了:-)

要正确分页,使用方法可以如下所示:

<display:table name="${paginatedList}" partialList="true" pageSize="10" size="${totalNumberOfItems}" />

${paginatedList}例如,结果集的项目1到10(您需要在DAO中编写代码,以从数据库中分块检索项目。大多数ORM库允许您非常轻松地执行此操作,或者您可以使用SQL执行此操作-请参阅下面的示例)

${totalNumberOfItems}是如果未将结果数限制为10页大小,则查询将返回的项目总数。同样,大多数ORM框架都允许您相当轻松地完成这项工作,或者您也可以使用SQL(例如,选择计数(*)来完成这项工作-请参见下文


有关Hibernate中分页的示例,请参阅。对于JDBC示例,请看一看。

我尝试了您提到的displaytag,但它对我不起作用。我把displaytag放在lib文件夹下,然后进行了所有正确的编码,但它就是不起作用。不确定是不是因为我没有使用任何框架。我能用java学习最基本和最简单的框架吗?