首先,我对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。
有什么想法吗?
干杯!
答案 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>