【问题标题】:Embedding jpg within Liferay Portlet在 Liferay Portlet 中嵌入 jpg
【发布时间】:2016-01-28 04:36:48
【问题描述】:

我正在使用 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>

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

话虽如此,一些问题:

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

【问题讨论】:

  • 请不要在一篇文章中提出多个问题。并且没有portlet 目录。只有一个目录包含您的 portlet 使用的 JSP 文件。

标签: image liferay-6 portlet


【解决方案1】:

可以在您的portlet 中嵌入图像,并通过&lt;img&gt; 标记呈现。以下是操作方法。

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

request.getContextPath()

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

/html/<yourportletname>/<portletRelativePathToYourImage>

在这个帖子的原始帖子中,我声明了一个名为 myportlet 的 portlet 和一个名为 myimage.jpg 的嵌入图像。所以显示这张图片的代码如下:

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

希望这对其他人有所帮助。

【讨论】:

  • 您所描述的方式并非特定于 Liferay 或 portlet,而是 所有 webapps 的通用方式。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-08-19
  • 1970-01-01
  • 2023-03-11
  • 1970-01-01
  • 2013-12-26
  • 2017-09-21
  • 1970-01-01
相关资源
最近更新 更多