2012-04-02 2 views
0

Я использую Liferay и мой класс портлета выглядит следующим образом:портлет Emty когда я развернуть его

public class HospitalPortlet extends MVCPortlet { 
private static Log _log = LogFactory.getLog(HospitalPortlet.class); 
public void doLogin(ActionRequest actionRequest, 
     ActionResponse actionResponse) 
      throws IOException, PortletException{ 
    actionRequest.setAttribute("test", "this is a test"); 
} 
public void doView(RenderRequest renderRequest, 
     RenderResponse renderResponse) 
      throws IOException, PortletException{ 
    renderRequest.setAttribute("test", "this is a test"); 
    include("view.jsp", renderRequest, renderResponse); 
} 
public void include(String path, 
     RenderRequest renderRequest, RenderResponse renderResponse) 
      throws IOException, PortletException{ 
    PortletRequestDispatcher portletRequestDispatcher = 
      getPortletContext().getRequestDispatcher(path); 
    if (portletRequestDispatcher == null){ 
     _log.error(path + " is not a valid include"); 
    } 
    else{ 
     portletRequestDispatcher.include(renderRequest, renderResponse); 
    } 
} 

} 

и мой viw.jsp выглядит следующим образом:

<%@ taglib uri="http://java.sun.com/portlet_2_0" prefix="portlet" %> 
<%@ taglib uri="http://liferay.com/tld/aui" prefix="aui" %> 

<portlet:defineObjects /> 

This is the <b>Hospital</b> portlet. 

<% 
    String testVar = (String)renderRequest.getAttribute("test");  
%> 

<br /> 

<p><%= testVar %></p> 

Я depoly этот портлет и поместите его на страницу, но он пуст, и в файле журнала liferay нет сообщения об ошибке. Что с этим не так?

ответ

0

Попробуйте удалить метод include и включить строку в doView Method. Я предполагаю, что у вас есть только одна страница с именем view.jsp. Также дважды проверьте portlet.xml портлета и посмотрите, не указывает ли portlet-класс на MVCPortlet, но на класс HospitalPortlet.

1

Просто удалить включают методу

public void include(String path, RenderRequest renderRequest, RenderResponse renderResponse)

не снимают include("view.jsp", renderRequest, renderResponse);

в doView()

и развернуть код

0

В Spring MVC портлета сталкиваюсь этот вопрос и ошибка, которую я сделал, я забыл заменить файл строки portlet.xml является

com.liferay.util.bridges.mvc.MVCPortlet 

Я должен заменить на

org.springframework.web.portlet.DispatcherPortlet 

Как только я заменю это erro г ушел.

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