2016-01-22 109 views
1

我正在使用Liferay portlet,它存在将jpg图像嵌入到view.jsp页面中的问题。在Liferay Portlet中嵌入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 /应用程序服务器并引用该路径。但强烈建议将这些图像放在portlet目录中。

随着中说,一些问题:

  1. 是否有可能把图像门户目录内的Liferay的
  2. 我是否需要做进一步的修改的portlet.xml或Liferay的-portlet.xml的文件?
  3. 有没有更好的方法来引用Portlet目录中的图像文件路径
  4. 其他想法?
+0

请不要在一个帖子中提出多个问题。并没有_portlet directory_。只有一个目录包含您的portlet使用的JSP文件。 –

回答

0

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

下面的代码给你的根目录下所有的图片(和其他东西)可以在网络服务器中找到:

request.getContextPath() 

你再追加到此以下路径到你的形象:

/html/<yourportletname>/<portletRelativePathToYourImage> 

在这个帖子的原文中,我提到了一个名为myportlet的portlet,它带有一个名为myimage.jpg的嵌入式图像。所以显示这个图像的代码如下:

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

希望这可以帮助别人。

+1

您正在描述一种不特定于Liferay或portlet的方式,但是是_all_ webapps的常用方式。 –