【发布时间】:2011-08-29 23:32:44
【问题描述】:
我需要一些帮助来在我的 portlet 中显示图像。我在某处有图像 硬盘。我用 doGet() 方法编写了 servlet ImageServlet。我注册了servlet 在带有映射 /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
【问题讨论】:
-
什么是 Portlet 版本?什么是 JSF 版本?您使用的是什么 JSF Portlet 桥(和版本)?