2012-04-02 2 views
0

은 다음과 같다 배포 할 때 한 emty입니다 :포틀릿 나는 그것이 내가하는 Liferay 내 포틀릿 클래스를 사용하고

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

doView 메소드에 include 메소드를 제거하고 include를 시도해보십시오. view.jsp라는 페이지가 하나 있다고 가정합니다. 또한 포틀릿의 portlet.xml을 다시 확인하고 portlet-class가 MVCPortlet을 가리 키지 않고 HospitalPortlet 클래스를 가리키고 있는지 확인하십시오.

1

그냥 제거 방법을 포함

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

include("view.jsp", renderRequest, renderResponse)를 제거하지 마십시오 ; doView()

에서

및 코드 배포

나는이 문제를 내가 라인 portlet.xml 파일을 대체하는 것을 잊었다 나는이 만든 실수를 직면 스프링 MVC 포틀릿에서
0

com.liferay.util.bridges.mvc.MVCPortlet 

입니다 교체해야하겠습니다.

org.springframework.web.portlet.DispatcherPortlet 

이 오류를 대체하면 r은 사라졌다.

관련 문제