[英]Liferay portlet configuration
我正在嘗試個性化Liferay Portlet的配置。
configuration.jsp是:
<%@include file="/init.jsp" %>
<liferay-portlet:actionURL portletConfiguration="true" var="configurationURL" />
<%
boolean showLocationAddress_cfg = GetterUtil.getBoolean(portletPreferences.getValue("showLocationAddress", StringPool.TRUE));
%>
<aui:form action="<%= configurationURL %>" method="post" name="fm">
<aui:input name="<%= Constants.CMD %>" type="hidden" value="<%= Constants.UPDATE %>" />
<aui:input name="preferences--showLocationAddress--" type="checkbox" value="<%= showLocationAddress_cfg %>" />
<aui:input key="mailAddress" type="text" name="preferences--mailAddress--"/>
<aui:button-row>
<aui:button name="save-Boutton" type="submit" value="Save"/>
</aui:button-row>
</aui:form>
ConfigurationActionImpl.java是:
package com.nosester.portlet.eventlisting.action;
import javax.portlet.ActionRequest;
import javax.portlet.ActionResponse;
import javax.portlet.PortletConfig;
import javax.portlet.PortletPreferences;
import com.liferay.portal.kernel.portlet.DefaultConfigurationAction;
import com.liferay.portal.kernel.servlet.SessionErrors;
import com.liferay.portal.kernel.servlet.SessionMessages;
import com.liferay.portal.kernel.util.Constants;
import com.liferay.portal.kernel.util.ParamUtil;
import com.liferay.portlet.PortletPreferencesFactoryUtil;
public class ConfigurationActionImpl extends DefaultConfigurationAction {
@Override
public void processAction(
PortletConfig portletConfig, ActionRequest actionRequest,
ActionResponse actionResponse) throws Exception {
super.processAction(portletConfig, actionRequest, actionResponse);
PortletPreferences prefs = actionRequest.getPreferences();
String mailAddress=prefs.getValue("mailAddress", "default");
System.out.println("address mail= "+mailAddress);
}
但是在所有情況下,顯示的郵件地址均為:默認。
有人可以幫助我更正此代碼,以便它可以顯示用戶在文本字段中輸入的內容嗎?
我相信actionRequest
是沒有得到與更新portletPreferences
當你調用值processAction
的方法DefaultConfigurationAction
。 您可以使用下面的代碼正確地獲取它。
String portletResource = ParamUtil.getString(
actionRequest, "portletResource");
PortletPreferences portletPreferences =
PortletPreferencesFactoryUtil.getPortletSetup(
actionRequest, portletResource);
portletPreferences .getValue("mailAddress", "default");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.