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未在Liferay Portlet中显示_Jsp_Liferay_Portlet - Fatal编程技术网

JSP未在Liferay Portlet中显示

JSP未在Liferay Portlet中显示,jsp,liferay,portlet,Jsp,Liferay,Portlet,首先,我对Liferay非常陌生,即使在阅读了文档之后,我也可能不知道自己在做什么 我正在尝试在Liferay portlet中设置一个自定义jsp页面。我的jsp的结构如下所示: <%@ taglib uri="http://java.sun.com/portlet_2_0" prefix="portlet" %> <portlet:defineObjects /> <html> <head> <tit

首先,我对Liferay非常陌生,即使在阅读了文档之后,我也可能不知道自己在做什么

我正在尝试在Liferay portlet中设置一个自定义jsp页面。我的jsp的结构如下所示:

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

<portlet:defineObjects />

<html>
       <head>
          <title>Credit Overview</title>
          <link rel="stylesheet" type="text/css" href="../Client/css/creditview.css" />
          <link rel="stylesheet" type="text/css" href="../Client/css/ecrisPortal_styles.css" />
           //rest of css links and javascript files...
       </head>
       <body>
          //lists, divs, etc.
       </body>

</html>
这些都放在我的portlet view.jsp文件中,但是,我看不到portlet中显示的任何内容。我所有的源代码和映射都是正确的,但似乎我只能在portlet中显示常规文本

我使用的是Liferay插件SDK和Eclipse的最新版本

有什么想法吗


干杯

首先,您不需要使用html、body和head标记

要包含标题,请将其放在portlet.xml文件下。像这样:

<portlet>
    <portlet-name>yourportletname</portlet-name>
    <portlet-class>org.springframework.web.portlet.DispatcherPortlet</portlet-class>
    <supports>
        <mime-type>text/html</mime-type>
    </supports>
    <portlet-info>
        <title>Your Fancy Portlet Title</title>
    </portlet-info>
</portlet>
<portlet>
    <portlet-name>yourportletname</portlet-name>
    <header-portlet-css>/css/cssfilename.css</header-portlet-css>
    <header-portlet-javascript>/js/yourfancyscript.js</header-portlet-javascript>
    <header-portlet-javascript>/js/libs/jquery.min.js</header-portlet-javascript>
</portlet>
要包含CSS或脚本文件,请将它们放在liferay-portal.xml文件下。像这样:

<portlet>
    <portlet-name>yourportletname</portlet-name>
    <portlet-class>org.springframework.web.portlet.DispatcherPortlet</portlet-class>
    <supports>
        <mime-type>text/html</mime-type>
    </supports>
    <portlet-info>
        <title>Your Fancy Portlet Title</title>
    </portlet-info>
</portlet>
<portlet>
    <portlet-name>yourportletname</portlet-name>
    <header-portlet-css>/css/cssfilename.css</header-portlet-css>
    <header-portlet-javascript>/js/yourfancyscript.js</header-portlet-javascript>
    <header-portlet-javascript>/js/libs/jquery.min.js</header-portlet-javascript>
</portlet>

此外,我们没有足够的信息。是否显示了基本文本,这意味着没有404错误页面?

您好,您应该只在portlet中的body标记中放置内容,而不应该放置内容,因为当门户呈现时,您的portlet在显示之前被包装在一个门户页面中

<%@ taglib uri="http://java.sun.com/portlet_2_0" prefix="portlet" %>
<portlet:defineObjects />
//lists, divs, etc.
在liferay-portlet.xml部署描述符中包含css使用和包含脚本使用后。这里有一个例子

<portlet>
        <portlet-name>ipc-session-a</portlet-name>
        <icon>/icon.png</icon>
        <header-portlet-css>/css/main.css</header-portlet-css>
        <footer-portlet-javascript>
            /js/main.js
        </footer-portlet-javascript>
        <css-class-wrapper>your-css-class-wrapper</css-class-wrapper>
    </portlet>

Portlet HTML不应包含、和元素。这些元素由Liferay portal放置。从youtportlethtml中的元素开始就足够了。您可以共享portlet的doView方法的代码吗?doView?我没有任何问题,请您将映射粘贴到liferay-portlet.xml和portlet.xml中。谢谢。您修改了portlet.xml中的portlet类了吗?如果是这样,您可能需要调用super.renderrenderRequest,renderResponse;在类的render方法中。