Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jsp 当我部署Portlet时,它是emty_Jsp_Servlets_Liferay - Fatal编程技术网

Jsp 当我部署Portlet时,它是emty

Jsp 当我部署Portlet时,它是emty,jsp,servlets,liferay,Jsp,Servlets,Liferay,我正在使用Liferay,我的portlet类如下所示: public class HospitalPortlet extends MVCPortlet { private static Log _log = LogFactory.getLog(HospitalPortlet.class); public void doLogin(ActionRequest actionRequest, ActionResponse actionResponse) th

我正在使用Liferay,我的portlet类如下所示:

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

}
<%@ 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>
我的viw.jsp如下所示:

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

}
<%@ 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>

这是医院门户。


我保存了这个portlet并将其放在页面上,但它是空的,并且在liferay日志文件中没有错误消息。有什么问题吗?

尝试删除include方法和doView中的include行方法。我假设您只有一个名为view.jsp的页面。还要仔细检查portlet的portlet.xml,看看portlet类是否不是指向MVCPortlet,而是指向HospitalPortlet类。

只需删除include方法即可

public void include(字符串路径、,
RenderRequest RenderRequest,RenderResponse RenderResponse)

不要删除
include(“view.jsp”、renderRequest、renderResponse)

doView()中


在SpringMVCPortlet中部署您的代码,我面临这个问题,我犯的错误是忘记替换line portlet.xml文件

com.liferay.util.bridges.mvc.MVCPortlet
我得换一个

org.springframework.web.portlet.DispatcherPortlet
一旦我更换了这个错误就消失了