我正在尝试使用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>
然后,您在网页上显示结果:
<table>
<tr>
<th>ID</th>....
我的问题是<sql: query var="queryResults"
这是我必须使用的标准语法,或者我在query var= ?
中放置了什么,而且dataSource ="{dataSrc}"
这是标准代码还是我必须修改它?
如果有人可以向我介绍如何在每页上显示我的表格或行数限制为10的源代码,我将非常感激。
答案 0 :(得分:2)
我之前写过自己的分页标签 - 我真的希望自己没有。
我建议你看一下displaytag。它是一个易于使用的开源标记库,几乎可以满足您的所有分页要求。它产生的HTML是干净的,符合标准的,最重要的是,它已经写成: - )
对于正确的分页,使用方法可以简单:
<display:table name="${paginatedList}" partialList="true" pageSize="10" size="${totalNumberOfItems}" />
$ {paginatedList}例如是结果集的第1到10项(您需要在DAO中编写代码以便从数据库中检索项目。大多数ORM库允许您非常轻松地执行此操作,或者您可以使用SQL执行此操作 - 请参阅下面的实施例)。
$ {totalNumberOfItems}是您的查询将返回的项目总数,如果您没有将结果数量限制为页面大小为10.同样,大多数ORM框架允许您相当容易地执行此操作,或者您再次使用可以用SQL做到(例如选择count(*)...) - 见下文......
答案 1 :(得分:0)
有了一些额外的知识,你可以使用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 --%>
请参阅here以获取完整参考。我认为这正是你所需要的。