目标是使用以下代码创建 Portlet 的 URL:
ExternalContext ctx = FacesContext.getCurrentInstance().getExternalContext();
RenderResponse response = (RenderResponse)ctx.getResponse();
PortletURL portletUrl = response.createRenderURL();
String url = portletUrl .toString();
但是,如果我在支持 bean 的 JSF-actionListener 方法中调用它,我会得到一个,ClassCastException
因为ctx.getResponse()
给了我一个javax.portlet.ActionResponse
。
我知道 aRenderResponse
可以从doView
Portlet 类中的方法访问。但是我怎样才能在我的支持 bean 中访问它呢?