我正在尝试个性化Liferay的配置。
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);
}但在所有情况下,显示的邮件地址都是: default。
有人能帮我更正一下这段代码吗?这样它就可以显示用户在文本字段中的内容了吗?
发布于 2014-07-10 12:36:59
我相信,当您调用actionRequest的processAction方法时,DefaultConfigurationAction不会使用DefaultConfigurationAction值进行更新。您可以使用下面的代码来正确地获取它。
String portletResource = ParamUtil.getString(
actionRequest, "portletResource");
PortletPreferences portletPreferences =
PortletPreferencesFactoryUtil.getPortletSetup(
actionRequest, portletResource);
portletPreferences .getValue("mailAddress", "default");https://stackoverflow.com/questions/24676507
复制相似问题