我想在createResourceURL()上调用方法RenderResponse。
不幸的是,当我这样做时,我会抛出以下异常:
Caused by:
java.lang.AbstractMethodError:
org.jboss.portletbridge.BufferedRenderResponseWrapper.createResourceURL()Ljavax/portlet/ResourceURL;
在portlet桥环境中是否可以编写资源URL?!
答案 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
中,但您可能正在部署自己的版本以及应用程序。