Навигация WebSphere Portal 8.5 между портлетами с передачей параметров

В нашем проекте WebSphere Portal 8.5 есть несколько портлетов (JSR 286).

Портлет A например содержит страницы с описанием некоторых товаров и инструменты для редактирования этого описания. А Портлет B содержит инструменты для создания заказов на эти товары (это очень упрощенно, но должно хватить для понимания задачи).

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

Спасибо


person Ezzara Portman    schedule 07.09.2017    source источник


Ответы (1)


Ну, ваш самый простой подход — использовать общедоступные параметры рендеринга https://www.ibm.com/support/knowledgecenter/en/SSYJ99_8.5.0/dev-portlet/pltcom_pubrndrprm.html

Настройте его в portlet.xml

    <portlet>
      ...
      <supported-public-render-parameter>custID</supported-public-render-parameter>
   </portlet>
   <public-render-parameter>
      <identifier>custID</identifier>
      <qname>x:customerID</qname>
   </public-render-parameter>

и тогда вы можете получить его как его String customerID = renderRequest.getParameter("custID");

Если вам нужно что-то более сложное, вы можете поместить элементы в область приложения в сеансе и поделиться ими таким образом, и когда страница снова отобразится, оба имеют к ней доступ.

или вы можете использовать api генерации URL, но это было бы последнее, что я бы рекомендовал

person Crosstalk22    schedule 07.09.2017
comment
Верно, что самый простой подход — общедоступные параметры рендеринга, но для более сложных сценариев вы должны использовать предоставленный JSR 286 механизм событий портлета: - ibm.com/support/knowledgecenter/en/SSYJ99_8.5.0/dev-portlet/ - oracle.com/technetwork/java/ - person Carlos; 07.09.2017
comment
@carlos Я знал, что забыл один - person Crosstalk22; 11.09.2017