在Liferay Portlet中嵌入jpg

时间:2016-01-22 20:40:43

标签: image liferay-6 portlet

我正在使用Liferay portlet,在view.jsp页面中嵌入jpg图像存在问题。

我的目录结构如下所示:

webapp
---myportlet
------view.jsp
------myimage.jpg

在我的view.jsp页面中,我有以下内容:

<img src="<%=request.getContextPath()%>/myimage.jpg" />

上述图片路径解析为以下内容:

path = /myportlet/myimage.jpg

在我的portlet.xml文件中,我有以下内容:

<supports>
    <mime-type>image/jpeg</mime-type>
    <portlet-mode>view</portlet-mode>
</supports>

我理解一种解决方案是将所有图像放在底层Web / app服务器中并引用该路径。但强烈建议将这些图像放在portlet目录中。

据说,有些问题:

  1. 是否可以使用Liferay
  2. 将图像放入portlet目录中
  3. 我是否需要对portlet.xml或liferay-portlet.xml文件进行进一步修改?
  4. 是否有更好的方法在portlet目录中引用图像文件路径
  5. 其他想法?

1 个答案:

答案 0 :(得分:0)

可以在portlet中嵌入图像,并通过<img>标记进行渲染。这是如何做到的。

以下代码为您提供了在Web服务器中可以找到所有图像(和其他内容)的根目录:

request.getContextPath()

然后,将以下路径名附加到您的图像:

/html/<yourportletname>/<portletRelativePathToYourImage>

在这篇帖子的原帖中,我陈述了一个名为myportlet的portlet,其中包含一个名为myimage.jpg的嵌入式图像。因此显示此图像的代码如下:

<img src='<%=request.getContextPath() + "/html/myportlet/myimage.jpg"%>' />

希望这有助于其他人。