Java taglib для нумерации страниц - PullRequest
2 голосов
/ 13 сентября 2011

Я пытаюсь использовать 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 на каждой странице, я был бы очень благодарен.

Ответы [ 2 ]

2 голосов
/ 04 апреля 2012

Я уже писал свой собственный тег нумерации страниц - мне правда жаль, что я этого не сделал.

Я бы посоветовал вам взглянуть на displaytag . Это простая в использовании библиотека тегов с открытым исходным кодом, которая должна в значительной степени соответствовать всем вашим требованиям к нумерации страниц. HTML-код, который он создает, чистый, соответствует стандартам и, самое главное, он уже написан: -)

Для правильной нумерации страниц использование может быть таким простым:

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

$ {paginatedList}, например, элементы с 1 по 10 вашего набора результатов (вам нужно написать код в DAO для извлечения элементов из вашей базы данных в виде блоков. Большинство библиотек ORM позволяют вам сделать это довольно легко, или вы можете сделать это с помощью SQL - см. ниже для примеры).

$ {totalNumberOfItems} - это общее количество элементов, которые ваш запрос вернул бы, если бы вы не ограничивали количество результатов размером до 10. Опять же, большинство сред ORM позволяют вам делать это довольно легко, или вы снова может сделать это с помощью SQL (например, select count (*) ...) - см. ниже ...

Для примера нумерации страниц в Hibernate, посмотрите на this . Для примера JDBC взгляните на this .

0 голосов
/ 17 марта 2012

Приложив немного дополнительных знаний, вы могли бы использовать нумерацию страниц Struts 2.0

Спин-код JSP снизу справочного руководства

<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 --%>

см. здесь для полной ссылки. Я думаю, что это именно то, что вам нужно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...