Доступ к параметрам URL в портлете JSR 286? - PullRequest
0 голосов
/ 05 марта 2011

есть ли способ получить доступ к параметрам URL в портлете / портале Jetspeed2?

нравится: www.bla.com/portal/page.psml?param=12345

Я могу найти только некоторые инструменты для liferay (PortalUtil.java) для доступа к httpservletrequest, но, насколько я знаю, для jetspeed такой вещи нет?

Я думал, что для такой вещи можно использовать публичные параметры рендера, но я немного запутался здесь? Ни у кого не было этой проблемы раньше?

заранее спасибо:)

Ответы [ 2 ]

0 голосов
/ 16 ноября 2012

Не знаю, работает ли он для jetspeed, но вы можете попробовать получить httprequest следующим образом:

HttpServletRequest httpRequest = (HttpServletRequest) request.getAttribute("javax.servlet.request");

Затем найдите строку запроса в заголовке, например:

String referer = httpRequest.getHeader("referer");

После этого у вас будет полный реферер страниц, чтобы вы могли разобрать строку запроса.

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

нашел ответ:


До версии 2.1 Jetspeed объединял параметры запроса портала с параметрами, специфичными для портлета, эффективно разрешая "общие" параметры.Это несовместимо с JSR-168 PLT.11, поэтому по умолчанию это теперь отключено.

Установив merge.portal.parameters.with.portlet.parameters = true, эту функцию можно «восстановить».В случае параметров портала и портлета с одним и тем же именем, по умолчанию параметры портлета будут предоставляться первыми в массиве значений, но это также можно изменить, установив merge.portal.parameters.before.portlet.parameters = true

Установка обоих этих свойств в значение true приведет к «старому» поведению до версии 2.1.Примечание. Для отдельных портлетов эти глобальные параметры можно переопределить, задав эти свойства в качестве метаданных в jetspeed-portlet.xml

merge.portal.parameters.with.portlet.parameters = false merge.portal.parameters.before.portlet.parameters = false

Использование открытых параметров рендеринга из спецификации 2.0

...