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