JSP未在Liferay Portlet中显示

时间:2013-09-24 18:05:29

标签: jsp liferay portlet

首先,我对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。

有什么想法吗?

干杯!

2 个答案:

答案 0 :(得分:0)

首先,您不需要使用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>

要包含CSS或脚本文件,请将它们放在liferay-portal.xml文件下。像这样:

<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错误页面?

答案 1 :(得分:0)

嗨,你应该只在portlet中的body标签内放置内容,不应该放置,因为当门户网站呈现时你的portlet会在显示之前被包装在门户网站页面中。

<%@ taglib uri="http://java.sun.com/portlet_2_0" prefix="portlet" %>
<portlet:defineObjects />
//lists, divs, etc.

使用<header-portlet-css>包含css,并在liferay-portlet.xml部署描述符中的<footer-portlet-javascript>之后使用<icon>包含脚本。这是一个例子

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