Моя внутренняя реакция на ваш вопрос заключается в том, что портлет должен быть достаточно автономным, чтобы ему не требовались другие портлеты на странице для работы. Таким образом, без каких-либо других знаний о том, почему это необходимо сделать, похоже, что этот выбор дизайна имеет некоторые присущие недостатки. Портлет A никогда не должен обрабатывать ActionRequests для портлета B. Похоже, вы просто пытаетесь согнуть, сломать и злоупотребить спецификацией портлета, но я признаю, что нарушил правила проектирования, когда это оправдано вариантом использования.
В качестве альтернативы я мог бы предложить вместо этого, чтобы ваш портлет позволял другим портлетам сообщать вашему портлету, что им нужно сделать, вместо того, чтобы ваш портлет спрашивал. Вы можете сделать это на стороне клиента, когда каждый другой портлет запускает небольшой JavaScript при загрузке страницы, чтобы сообщить вашему портлету, что ему нужно делать.
Вернемся к вашему актуальному вопросу. Я не слишком углублялся в документацию, но WebSphere Portal предоставляет API, который может помочь определить, что вам нужно. Ниже приведена ссылка на документацию IBM по этому вопросу.
http://www-01.ibm.com/support/knowledgecenter/SSHRKX_8.5.0/mp/dev/dgn_modelovw.dita
SPI модели — это то, как портлет может получить доступ ко всему, что касается структуры страниц портала, состояния навигации и ряда других связанных вещей. Я ожидаю, что Model SPI сможет сообщить вам, какие другие портлеты находятся на той же странице, что и ваш текущий портлет. Как только вы получите список других портлетов на странице, вам решать, как определить, какие еще ссылки вам нужно отобразить.
person
Nick Roth
schedule
04.02.2015