Доступ к параметрам URL в портлете JSR 286?

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

как: www.bla.com/portal/page.psml?param=12345

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

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

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

2 ответа

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

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

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

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

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

Нашел ответ:


До версии 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

Другие вопросы по тегам