首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Liferay配置

Liferay配置
EN

Stack Overflow用户
提问于 2014-07-10 12:24:45
回答 1查看 1.6K关注 0票数 1

我正在尝试个性化Liferay的配置。

configuration.jsp是:

代码语言:javascript
复制
<%@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是:

代码语言:javascript
复制
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。

有人能帮我更正一下这段代码吗?这样它就可以显示用户在文本字段中的内容了吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-07-10 12:36:59

我相信,当您调用actionRequestprocessAction方法时,DefaultConfigurationAction不会使用DefaultConfigurationAction值进行更新。您可以使用下面的代码来正确地获取它。

代码语言:javascript
复制
 String portletResource = ParamUtil.getString(
        actionRequest, "portletResource");

 PortletPreferences portletPreferences =
        PortletPreferencesFactoryUtil.getPortletSetup(
            actionRequest, portletResource);

 portletPreferences .getValue("mailAddress", "default");
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24676507

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档