В настоящее время я генерировать URL в другой портлет таким образом:Генерация URL в другом портлета в Liferay
<liferay-portlet:actionURL var="custom" portletName="portlet2_WAR_portlet2">
<portlet:param name="action" value="advanced"/>
<portlet:param name="value" value="321"/>
</liferay-portlet:actionURL>
наиболее важной частью является portletName
аргумент. Я строю его так же, как они сказали по телефону Liferay's page. Проблема в том, что вручную создание portletName
ужасно. Представьте себе опечатку, смену названия ...
Итак, мой вопрос: существует ли класс утилиты jsp tag (или аналогичный), который способен автоматически создавать правильное имя портлета (учитывая некоторую информацию из программист, например, имя портлета).
Одна вещь: мои портлеты являются одиночными, поэтому нет INSTANCE param необходим.
Но еще раз мы не можем сделать опечатку с идентификатором? ;-) –
Вам нужно предоставить по крайней мере что-то :), опечатку вы можете сделать во что угодно! : D, чтобы ошибаться человек! :). Но, чтобы получить идентификаторы портлетов встроенных портлетов, есть один интерфейс/класс, который содержит Enum имени и идентификатора портлета, сообщит вам, как только я получу его. –
Получил его, пожалуйста, используйте com.liferay.portal.util .PortletKeys, это содержит отображение класса портлета и идентификаторов. Итак, теперь для встроенного портлета вам не нужен жесткий код, у вас будет от PortletKeys.BLOGS или что-то еще, и вы получите идентификатор, с этого идентификатора вы получите объект Portlet и так далее. Принять истину (как ответ) –