2016-01-22 107 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的常用方式。 –