Проблемы с отображением изображения в портлете с использованием jsf - PullRequest
0 голосов
/ 29 августа 2011

Мне нужна помощь с отображением изображений в моем портлете. У меня есть изображения где-то на HDD. Я написал сервлет ImageServlet с помощью метода doGet (). Я зарегистрировал сервлет в web.xml с отображением /images/*.

Проблема начинается, когда я пытаюсь показать изображение:

<h:graphicImage url="/images/image.png" />

Метод doGet () в сервлете не вызывается. Вывод HTML, который я получаю:

<img src="/PortletName/images/image.png"/>

Однако, когда я использую другой тег, например:

<jsp:include file="/images/image.png"/>

doGet () в ImageServlet вызывается (не работает очевидно, но это показывает, что сервлет зарегистрирован правильно).

Я попытался сопоставить / PortletName / images / *, но это не помогло. И я не могу написать URL без '/' в начале (я получаю исключение - Liferay запрещает это).

Я что-то упускаю при вызове сервлета из h: graphicImage? Или есть какой-нибудь способ избавиться от / PortletName / в сгенерированном HTML? Или есть другой способ отображения изображения (используя include или что-то)?

Помощь будет оценена :) 1024 *

Edit: JSF 1.1; Приложение портлета DTD 4.3.0; портлет-app_1_0.xsd; org.apache.portals.bridges.portletfilter.FilterPortlet

1 Ответ

0 голосов
/ 29 августа 2011

Мне удалось это сделать. Я использовал Liferay PortalDelegateServlet: http://longgoldenears.blogspot.com/2008/03/portaldelegateservlet-servlet-session.html

и я использовал <img> тег.

...