Чтобы иметь страницу настроек (конфигурации) в вашем портлете в Liferay, вы должны реализовать интерфейс com.liferay.portal.kernel.portlet.ConfigurationAction
и настроить портлет в liferay-portlet.xml для использования вашего класса.
<portlet>
<portlet-name>MyPortlet</portlet-name>
<configuration-action-class>com.mydomain.myportlet.ClassThatImplementsConfigurationAction</configuration-action-class>
<instanceable>false</instanceable>
...
</portlet>
Вы также должны знатьчто внутри этого класса вы находитесь в конфигурационном портлете Liferay, а не в своем портлете.Таким образом, получение параметров, таких как
portletRequest.getPreferences();
, приводит к настройкам портлета конфигурации Liferay-s.
Чтобы получить настройки вашего портлета, добавьте этот метод в свой класс
protected PortletPreferences getPortletPreferences(final PortletRequest p_portletRequest) throws Exception {
String portletResource = ParamUtil.getString(p_portletRequest, "portletResource");
PortletPreferences prefs = PortletPreferencesFactoryUtil.getPortletSetup(p_portletRequest, portletResource);
return prefs;
}
и вызвать его из реализованных методов
public void processAction(PortletConfig portletConfig, ActionRequest actionRequest,
ActionResponse actionResponse) throws Exception;
public String render(PortletConfig portletConfig, RenderRequest renderRequest,
RenderResponse renderResponse) throws Exception;