我需要一些帮助才能在我的portlet中显示图像。我在某处有图像 HDD。我用doGet()方法编写了servlet ImageServlet。我注册了servlet 在带有mapping / images /*.
的web.xml中当我尝试显示图像时,问题就出现了:
<h:graphicImage url="/images/image.png" />
不调用servlet中的doGet()方法。我得到的HTML输出是:
<img src="/PortletName/images/image.png"/>
然而,当我使用其他标签时,例如:
<jsp:include file="/images/image.png"/>
doGet()(它不起作用 显然,但它表明servlet已正确注册。)
我尝试了映射/ PortletName / images / *,但它没有帮助。我不能在开头没有'/'写url(我得到一个例外 - Liferay 禁止它。)
从h:graphicImage调用servlet时我是否遗漏了什么?或者有没有办法摆脱生成的HTML中的/ PortletName /?或者是否有其他方式来显示图像(使用包含或其他东西)?
帮助将不胜感激:)
编辑: JSF 1.1; DTD portlet应用程序4.3.0; portlet的app_1_0.xsd; org.apache.portals.bridges.portletfilter.FilterPortlet
答案 0 :(得分:0)
我设法做到了。我使用了Liferay PortalDelegateServlet: http://longgoldenears.blogspot.com/2008/03/portaldelegateservlet-servlet-session.html
我使用了<img>
代码。