2016-01-22 5 views
1

Я использую портлеты Liferay, имея проблему встраивания jpg-изображений на страницу view.jsp.Встраивание jpg в портлет Liferay

Моя структура каталогов выглядит следующим образом:

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> 

Я понимаю, что одним из решений является размещение всех изображений в базовом веб-сервере или сервере приложений и ссылка на этот путь. Но настоятельно рекомендуется помещать эти изображения в каталог портлета.

С учетом сказанного, некоторые вопросы:

  1. Можно ли поместить изображения в каталоге портлетов с Liferay
  2. мне нужно внести дополнительные изменения в portlet.xml или Liferay-portlet.xml файлы Do ?
  3. Есть ли лучший способ ссылаться на пути файлов изображений в каталогах портлетов
  4. Другие идеи?
+0

Пожалуйста, не задавайте более одного вопроса в одном сообщении. И нет каталога _portlet_. Существует только каталог, содержащий файл JSP, который используется вашим портлетом. –

ответ

0

Можно вставлять изображения в портлет и визуализировать с помощью тега <img>. Вот как это сделать.

Следующий код дает корневой каталог, где все ваши изображения (и другие вещи) можно найти в веб-сервере:

request.getContextPath() 

Вы затем добавить к этому следующее имя пути к изображению:

/html/<yourportletname>/<portletRelativePathToYourImage> 

В исходном посте этой нити я изложил портлет с именем myportlet со встроенным изображением с именем myimage.jpg. Таким образом, код для отображения этого изображения выглядит следующим образом:

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

Надеюсь, что это поможет другим.

+1

Вы описываете способ, который не является специфичным для Liferay или портлетов, но является общим способом для _all_ webapps. –