在RenderResponse上调用createResourceURL时抛出的AbstractMethodError

时间:2011-11-25 10:01:40

标签: java url jsf jboss portlet

我想在createResourceURL()上调用方法RenderResponse

不幸的是,当我这样做时,我会抛出以下异常:

Caused by:
   java.lang.AbstractMethodError:
   org.jboss.portletbridge.BufferedRenderResponseWrapper.createResourceURL()Ljavax/portlet/ResourceURL;

在portlet桥环境中是否可以编写资源URL?!

2 个答案:

答案 0 :(得分:0)

在我使用的bean中的JSF portlet(使用Jboss portletbridge 2.1.0)中没有出现问题:


    FacesContext fctx = FacesContext.getCurrentInstance();
    Object obj = fctx.getExternalContext().getResponse();       
    RenderResponse rresponse = (RenderResponse) obj;
    ResourceURL resourceURL = rresponse.createResourceURL();
    resourceURL.setResourceID(id);

您确定获得了正确的RenderResponse对象吗?

答案 1 :(得分:0)

在portlet规范2.0版中引入createResourceURL方法时,您使用的portlet桥版本似乎只支持portlet 1.0 api。 JBoss Portal 2.7应该支持更新版本,如果它捆绑了仅支持旧版本的网桥,那就太奇怪了。

您可以查看您使用的是哪个版本?捆绑的版本应该在deploy/jboss-portal.sar/lib/portal-portlet-bridge-lib.jar中,但您可能正在部署自己的版本以及应用程序。