Нельзя передать render parameters
из одного портлета в другой.Это должен быть параметр общего рендеринга (PRP).Подход к настройке PRP такой же, как и для параметра вывода, но оба портлета должны согласиться с тем, что они поддерживают этот PRP.Для этого вам нужно зарегистрировать поддерживаемые PRP в файле portlet.xml
обоих портлетов.Пожалуйста, обратитесь к этой ссылке для получения дополнительной информации. Это то, на чем настаивают спецификации.Представьте себе сценарий, в котором у нас есть несколько портлетов от разных поставщиков на странице портала.Это проблема безопасности, если один портлет может извлечь параметры из URL-адреса, даже если он не предназначен для этого портлета.
Другой подход (который не рекомендуется) состоит в том, чтобы вводить регистр от RenderRequest
до * 1008.* и получить параметр из запроса.В спецификации не упоминается, что PortletRequest
должно быть HttpServletRequest
.Так что лучше этого не делать.Дальнейшая реализация Portal может изменить это.
Третий подход заключается в использовании API генерации URL-адресов и создании URL-адреса, параметры которого предназначены для портлета.Вы можете обратиться к ссылке ниже, которая имеет несколько вспомогательных классов.Это упростит вашу работу. Расширенные классы помощника по генерации URL
Лучший способ - использовать PRP.Портлет-источник и целевой портлет слабо связаны.