我需要一些在portlet中显示图像的帮助。我在某个地方有图片HDD。我用doGet((方法编写了servlet ImageServlet。我注册了servlet在web.xml中使用mapping/images/*。
当我尝试显示图像时,问题就开始了:
<h:graphicImage url="/images/image.png" />
servlet中的doGet((方法未被调用。我得到的HTML输出是:
<img src="/PortletName/images/image.png"/>
然而,当我使用其他标签时,例如:
<jsp:include file="/images/image.png"/>
ImageServlet中的doGet((被调用(它不起作用很明显,但这表明servlet是正确注册的(。
我尝试映射/PortletName/images/*,但没有帮助。我不能在一开始就写没有"/"的url(我遇到了一个例外——Liferay禁止(。
从h:graphicImage调用servlet时是否遗漏了什么?或者有什么方法可以在生成的HTML中去掉/PortletName/?或者有其他显示图像的方法(使用include或其他方法(吗?
如有帮助,不胜感激:(
编辑:JSF 1.1;DTD portlet应用程序4.3.0;portlet-app_1_0.xsd;org.apache.portals.bridges.portletfilter.FilterPortlet
我成功做到了。我使用了Liferay PortalDelegateServlet:http://longgoldenears.blogspot.com/2008/03/portaldelegateservlet-servlet-session.html
使用CCD_ 4标签。