Могут ли портлеты Liferay получать параметры?

У меня проблемы с пониманием концепции портлетов в CMS.

Допустим, я пишу портлет погоды для отображения текущей температуры. Я создаю его, упаковываю в войну, разворачиваю войну в Liferay.

Теперь я создал страницу и хочу создать 2 экземпляра написанного мной портлета. Я хочу отображать погоду в Сиэтле и погоду в Майами.

Я могу это сделать? Как передать портлету параметр, указывающий, какой город отображать?


person jeph perro    schedule 25.06.2010    source источник
comment
Кажется ли один из приведенных ниже ответов работоспособным, или вы ищете что-то еще?   -  person jayshao    schedule 03.07.2010


Ответы (2)


Портлет имеет так называемый EDIT-режим. Вы можете реализовать режим EDIT, чтобы отобразить форму, чтобы выбрать, для какого города вы хотите отображать температуру. Сохраните это в настройках портлета. И когда вы будете отображать портлет в обычном режиме (ПРОСМОТР), посмотрите на настройки для города.

person Jaromir Hamala    schedule 26.06.2010
comment
Чтобы расширить это, можно указать PortletPreferences для экземпляра (по умолчанию LR) или для каждого пользователя, что позволяет отображать один и тот же код с разными свойствами. - person jayshao; 28.06.2010

Другой вариант - PortletConfig, который обычно настраивается в portlet.xml и аналогичен параметрам инициализации сервлета. Предпочтения, вероятно, ваш лучший выбор.

Если вы работаете, в частности, в Liferay, инфраструктура построения моделей LR предоставит вам большую часть этих функций, включая быстрое / дешевое редактирование за счет кросс-контейнерной переносимости. С другой стороны, он будет хорошо интегрироваться с (ограниченным) RBAC LR, который имеет тенденцию быть важным в средах создания распределенного контента.

person jayshao    schedule 28.06.2010