Creating a Liferay portlet configuration page

妖精的绣舞 提交于 2019-12-10 14:15:15

问题


I'm trying to create a configuration page for a Liferay portlet, so I can set some parameters for it. For example I would like to choose what page should a controller display when viewing it. The configuration should be located here:

So I've created a controller for the config like this:

import com.liferay.portal.kernel.portlet.ConfigurationAction;
import javax.portlet.*;

public class SandboxPortletConfig implements ConfigurationAction {
@Override
public void processAction(PortletConfig portletConfig, 
    ActionRequest actionRequest, ActionResponse actionResponse) 
        throws Exception {

    }

@Override
public String render(PortletConfig portletConfig, RenderRequest renderRequest, 
    RenderResponse renderResponse) throws Exception {
    return "/sandboxPortlet/config";
    }
}

A JSP page for the view part:

<%@ page pageEncoding="UTF-8"%>
<%@ include file="../init.jsp"%>

<form>
    Select:
    <select>
        <option>1</option>
        <option>2</option>
        <option>3</option>
    </select>
</form>

I've set up my portlet.xml to include:

<portlet>
    <portlet-name>sandboxPortlet</portlet-name>
    <display-name>Sandbox Portlet</display-name>
    <portlet-class>org.springframework.web.portlet.DispatcherPortlet</portlet-class>
    <init-param>
        <name>contextConfigLocation</name>
        <value>/WEB-INF/spring/sandbox-portlet-context.xml</value>
    </init-param>
    <init-param>
        <name>config-jsp</name>
        <value>/WEB-INF/html/sandboxPortlet/config.jsp</value>
    </init-param>
    <supports>
        <mime-type>text/html</mime-type>
        <portlet-mode>view</portlet-mode>
        <portlet-mode>edit</portlet-mode>
    </supports>
    <portlet-info>
        <title>Sandbox Portlet</title>
        <short-title>Sandbox</short-title>
        <keywords>sandbox test testing</keywords>
    </portlet-info>
</portlet>

and my liferay-portlet.xml to be like:

<portlet>
    <portlet-name>sandboxPortlet</portlet-name>
    <instanceable>false</instanceable>
    <configuration-action-class>path.to.the.portlet.sandboxPortlet.SandboxPortletConfig</configuration-action-class>
</portlet>

But I'm unable to see the configuration tab. Is there anything else that I need to configure in order to see the configuration, please?


回答1:


Instead of return "/sandboxPortlet/config"; provide return "/html/sandboxPortlet/config.jsp";

You have to provide full jsp path.



来源:https://stackoverflow.com/questions/19853798/creating-a-liferay-portlet-configuration-page

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!