Могут ли портлеты Liferay получить параметры?
У меня возникают проблемы с пониманием концепции портлетов в CMS.
Допустим, я пишу погодный портлет для отображения текущей температуры. Я строю это, упаковываю это в войну, разворачиваю войну в Liferay.
Теперь я создал страницу и хочу создать 2 экземпляра портлета, который я написал. Я хочу показать погоду в Сиэтле и погоду в Майами.
Я могу это сделать? Как передать портлету параметр, чтобы указать, какой город отображать?
2 ответа
Портлет имеет так называемый EDIT-режим. Вы можете внедрить режим РЕДАКТИРОВАНИЯ, чтобы показать форму, чтобы выбрать, для какого города вы хотите показывать температуру. Сохраните это в настройках портлета. И когда вы будете рендерить портлет в обычном (VIEW) режиме, посмотрите на настройки города.
Другой вариант - PortletConfig, который обычно настраивается в portlet.xml и похож на параметры инициализации сервлета. Предпочтения, вероятно, ваш лучший выбор.
Если вы работаете в частности с Liferay, инфраструктура конструктора моделей LR предоставит вам большую часть этой функциональности, включая быстрое и дешевое редактирование за счет переносимости между контейнерами. С положительной стороны, он будет хорошо интегрироваться с (ограниченным) RBAC LR, что имеет тенденцию быть важным в средах разработки распределенного контента.