Friday, 22 August 2014

Liferay Configuration Page



======================   ConfigurationActionImpl implements   ===========================

package com.liferay.config;

import com.liferay.portal.kernel.portlet.ConfigurationAction;
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;

import javax.portlet.ActionRequest;
import javax.portlet.ActionResponse;
import javax.portlet.PortletConfig;
import javax.portlet.PortletPreferences;
import javax.portlet.PortletSession;
import javax.portlet.RenderRequest;
import javax.portlet.RenderResponse;

public class ConfigurationActionImpl implements ConfigurationAction {

               
                public void processAction(PortletConfig portletConfig,
                                                ActionRequest actionRequest, ActionResponse actionResponse)
                                                throws Exception {

                                String cmd = ParamUtil.getString(actionRequest, Constants.CMD);

                                if (!cmd.equals(Constants.UPDATE)) {
                                                return;
                                }

                                String email = ParamUtil.getString(actionRequest, "email");
                                String subject = ParamUtil.getString(actionRequest, "subject");

                                String portletResource = ParamUtil.getString(actionRequest,"portletResource");
                                PortletPreferences preferences = PortletPreferencesFactoryUtil.getPortletSetup(actionRequest, portletResource);

                                preferences.setValue("email", email);
                                preferences.setValue("subject", subject);

                                preferences.store();

                                PortletSession portletSession = actionRequest.getPortletSession();
                                SessionMessages.add(actionRequest, portletConfig.getPortletName()+ ".doConfigure");

                }

                public String render(PortletConfig portletConfig,
                                                RenderRequest renderRequest, RenderResponse renderResponse)
                                                throws Exception {

                                return "/html/config.jsp";
                }
}

=================== ============================================================




 package com.vidyayug;

import com.liferay.util.bridges.mvc.MVCPortlet;

/**
 * Portlet implementation class LiferayConfigurationPortlet
 */
public class LiferayConfigurationPortlet extends MVCPortlet {


}


====================config.jsp====================
<%@include file="/html/init.jsp" %>
<%@ page import="com.liferay.portal.kernel.util.Constants" %>

<form action="<liferay-portlet:actionURL portletConfiguration="true" />"
method="post" name="<portlet:namespace />fm">

<input name="<portlet:namespace /><%= Constants.CMD %>" type="hidden" value="<%= Constants.UPDATE %>" />

<table class="lfr-table">
<tr>
      <td>Email</td>
            <td><input type="text" name="<portlet:namespace />email"  value="<%=email %>"/>
      </td>

      <td>Subject</td>
            <td><input type="text" name="<portlet:namespace />subject"  value="<%=subject %>" />
      </td>
</tr>
<tr>
       <td colspan="2">
            <input type="button" value="<liferay-ui:message key="save" />"
onClick="submitForm(document.<portlet:namespace />fm);" />
       </td>
</tr>
</table>
</form>

================== init.jsp =============================

<%@page import="com.liferay.portal.kernel.util.Validator"%>
<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>

<%@ taglib uri="http://liferay.com/tld/portlet" prefix="liferay-portlet" %>
<%@ taglib uri="http://liferay.com/tld/security" prefix="liferay-security" %>
<%@ taglib uri="http://liferay.com/tld/theme" prefix="liferay-theme" %>
<%@ taglib uri="http://liferay.com/tld/ui" prefix="liferay-ui" %>
<%@ taglib uri="http://liferay.com/tld/util" prefix="liferay-util" %>

<%@ page import="com.liferay.portal.kernel.util.Constants" %>
<%@ page import="com.liferay.portal.kernel.util.GetterUtil" %>
<%@ page import="com.liferay.portal.kernel.util.ParamUtil" %>
<%@ page import="com.liferay.portal.kernel.util.StringPool" %>
<%@ page import="com.liferay.portal.util.PortalUtil" %>
<%@ page import="com.liferay.portlet.PortletPreferencesFactoryUtil" %>
<%@ page import="javax.portlet.PortletPreferences" %>
<%@ page import="javax.portlet.WindowState" %>
<%@ page import="javax.portlet.PortletURL"%>
<%@ page import="javax.portlet.ActionRequest" %>
<%@ page import="javax.portlet.PortletPreferences" %>

<%@ page import="com.liferay.portal.kernel.language.LanguageUtil" %>
<%@ page import="com.liferay.portal.security.permission.ActionKeys"%>

<liferay-theme:defineObjects />
<portlet:defineObjects />

<%
String currentURL = PortalUtil.getCurrentURL(request);

PortletPreferences preferences = renderRequest.getPreferences();

String portletResource = ParamUtil.getString(request, "portletResource");

if (Validator.isNotNull(portletResource)) {
      preferences = PortletPreferencesFactoryUtil.getPortletSetup(request, portletResource);
}

String  email = preferences.getValue("email", StringPool.BLANK);
String  subject = preferences.getValue("subject", StringPool.BLANK);

%>

======== view.jsp ========================

<%@include file="/html/init.jsp" %>
<%=email %>
<%=subject %>

No comments:

Post a Comment