Я использую библиотеку тегов JSP displaytag для создания таблиц HTML. Я бы хотел, чтобы пользователь мог щелкнуть заголовок столбца, чтобы отсортировать данные. Мой код JSP показан ниже:
<display:table name = "tableData" id = "stat" sort = "page">
<display:column property = "name" title = "Name" sortable = "true"/>
<display:column property = "age" title = "Age" sortable = "true"/>
</display:table>
Я думал, что это приведет к сортировке данных на стороне клиента (в JavaScript), но на самом деле это создает неработающую гиперссылку в заголовке столбца обратно на сервер.
Можно ли использовать displaytag для сортировки данных на стороне клиента? Если да, то как?
Ваше здоровье, Дон




Взгляните на использование jquery и его превосходного Tableorter API. Это позволит вам отсортировать таблицу на стороне клиента с помощью Javascript.
Насколько я знаю, это невозможно. Tableorter JQuery может работать с небольшими таблицами, которые он использует для своих примеров, но большинство таблиц должны поступать из реальной базы данных. Это попадание слишком велико, чтобы просто получить все данные, прежде чем возвращать эту информацию клиенту, а затем разрешить ее сортировку.
Displaytag имеет элемент requestURI для тега, который позволяет своим запросам переходить к настроенному обработчику url.
Итак, если вы используете это:
<display:table requestURI = "yourUrlMappedController.yourExtension" ...>
Это позволит использовать временное решение для повторного получения данных с вашего контроллера.
Тем не менее, в конечном итоге вы захотите разработать стратегию, которая использует параметры сортировки displaytag для использования в качестве параметров в предложении «order by» и разбивает данные на страницу из базы данных вместо того, чтобы извлекать их все сразу. Это непростая задача, но предварительные усилия могут оказаться очень полезными с точки зрения производительности.
На сайте displaytag есть три вещи, которые вы всегда должны проверять для справки, просто в стороне. Ссылка на тег, Руководство по настройке и, конечно, их (загружаемый) Живые примеры.