2013-11-08 3 views
5

Я пытаюсь создать страницу конфигурации для портлета Liferay, поэтому я могу установить для него некоторые параметры. Например, я хотел бы выбрать, какую страницу должен отображать контроллер при ее просмотре. Конфигурация должна быть расположена здесь:Создание страницы конфигурации портлета Liferay

enter image description here

Таким образом, я создал контроллер для конфигурации, как это:

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"; 
    } 
} 

JSP страница для просмотра части:

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

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

Я установил свой портлет.xml для включения:

<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> 

и мой Liferay-portlet.xml быть похожим:

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

Но я не могу видеть вкладку конфигурации. Есть ли что-то еще, что мне нужно настроить, чтобы увидеть конфигурацию, пожалуйста?

+1

вместо "return"/sandboxPortlet/config ";' обеспечивать 'return" /html/sandboxPortlet/config.jsp ";' –

+0

Я попробую это. Спасибо – Dropout

+0

Это сработало? Если так, я отправлю это как ответ. –

ответ

3

Вместо return "/sandboxPortlet/config"; обеспечивают return "/html/sandboxPortlet/config.jsp";

Вы должны обеспечить полный путь Jsp.

Смежные вопросы