Библиотека Displaytag - обнаружение пейджингового запроса - PullRequest
0 голосов
/ 21 апреля 2009

В настоящее время я разрабатываю портлет для Liferay (с использованием среды Spring MVC). Теперь я просто использовал библиотеку displaytag для реализации подкачки в списке, который я отображаю в портлете.

Моя проблема сейчас заключается в том, что мне нужно будет определить, был ли запущен текущий запрос с помощью управления подкачкой библиотеки displaytag. Я обнаружил, что при выполнении подкачки в URL добавляется параметр, который выглядит как «d-4157739-p = 2», который указывает текущую страницу, которая отображается. Чтобы я мог сделать

int isPagingRequest = PortletRequestUtils.getIntParameter(request, "d-1332617-p", -1);

.. и если isPagingRequest (который я мог бы изменить на логическое значение) имеет значение, то запрос был инициирован подкачкой displaytag. Это, однако, очень плохое кодирование, поэтому я хотел бы избежать этого. Кроме того, число между «d» и «p» варьируется, что делает его действительно трудно обнаружить.

Есть ли у кого-нибудь предложение, как я могу определить, был ли текущий запрос вызван поисковым вызовом ??

Большое спасибо

Ответы [ 3 ]

1 голос
/ 22 апреля 2009

Displaytag предоставляет класс «ParamEncoder», который (я думаю, что в его конструкторе) создает контрольные суммы для вас на основе имени таблицы вашей таблицы (элемент id или uid - этот параметр должен быть установлен для получения действительных контрольных сумм (чисел). между d и - (параметр)). Проверьте это. TableTagParameters включает в себя также константы, необходимые для параметров - так что с помощью комбинации этих двух вы можете получить соответствующий ключ переменной для извлечения из запроса.

0 голосов
/ 31 марта 2011

String param = new ParamEncoder (tableId) .encodeParameterName (TableTagParameters.PARAMETER_PAGE)). , Выше решит вашу проблему, а также подведет итог тому, что говорил @ MetroidFan2002.

0 голосов
/ 22 апреля 2009

Одним из вариантов может быть добавление вашего собственного параметра к значению в атрибуте requestURI . Так, например, вы можете добавить это:

requestURI="mylistsource.action?ispage=true"

к табличному тегу, где mylistsource.action - это действие вашего сервера, которое в первую очередь создает список.

На сервере вы можете найти параметр «ispage».

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