Получить параметры из URL-адреса в среде портала на WPS7

Я хочу получить параметр из URL-адреса в среде портлета. URL-адрес, который я использую для открытия портлета: http://localhost:10039/wps/myportal/myPortlet?recId=100

When the portlet opens the URL changes and looks like *http://localhost:10039/wps/myportal/myPortlet/!ut/p/b1/dY7LcoIwAAC_hQ9wElQSckwJ8lLEgjxyYbDTBAQMgkXHr7ft9Nq97cweFnBQmEhfGUtMdJADfqnmRla3Rl2q7sc5Kt_I0d1RxCCOyAZ6EQl8a29CSA3gAy47dfpOU1aoB1NUMsrEerIUz7lu0vma1pY9hNTZRbXZx8jYP8-SBSv_OibxLD66fnwvknYom9xPMzkK9awT_3Ru6i8Wt5SLA7GDTXtPt5OdGYMkd2wnDorD6UHKm8SqrwpRCb6YD5oGMsB_ly2Humu8hdA0TB161D1iFLMlpKu_AP4DhSB0Vf8Jeu4Qb0G1F8FgaxU!/dl4/d5/L2dBISEvZ0FBIS9nQSEh/?recId=100*

На самом деле я хочу получить параметр recID=100. Код, который я использую для получения параметра, приведен ниже.

PortletRequest portletRequest = (PortletRequest) webAppAccess.getHttpServletRequest().getAttribute( Constants.PORTLET_REQUEST);
HttpServletRequest httpRequest = PortletUtils.getInternalRequest(portletRequest).getHttpServletRequest();                   
httpRequest.getParameter("recId");

но возвращает null

Может ли кто-нибудь помочь мне, как я могу получить параметр в данной ситуации?

Примечание. Я использую WebSphere Portal Server 7.


person Zeeshan    schedule 11.11.2011    source источник


Ответы (2)


Ну, это не так просто.

Вы должны генерировать определенные URL-адреса. Расширенное создание URL-адресов WebSphere Portal и Как создать ссылку на портлет и передать параметры.

person Udo Held    schedule 18.11.2011

У меня был такой сценарий раньше, и кто-то предложил мне использовать утилиты Portlet, вы можете найти этот класс в пакете "com.ibm.ws.portletcontainer.portlet", там много конструкторов (RenderRequest, ActionRequest, PortletRequest, ... ), это метод (PortletUtils.getHttpServletRequest(ВАШ НУЖНЫЙ ОБЪЕКТ)) вы можете найти свои потребности.

person Abdalla Khalaf    schedule 10.07.2013