У меня есть один портлет, который имеет команду Link.В actionListner для commandLink я вызвал backingBean.
Поддерживающий компонент имеет следующий код:
ActionResponse actionResponse = (ActionResponse) LiferayFacesContext.getInstance().
getExternalContext().getResponse();
actionResponse.sendRedirect("http://localhost:8080/web/guest/pageName");
У меня перенаправление на другую страницу портлета.Оба портлета содержатся в одной войне.
Это перенаправление не работает, оно дает: classCastException. can't clast to ActionResponse
Я также пытался,
ActionResponse actionResponse= (ActionResponse) FacesContext.getCurrentInstance().
getExternalContext().getResponse();
actionResponse.sendRedirect("http://localhost:8080/web/guest/pageName");
Это бросаетClassCastException. Can not cast to ActionResponse
Exception StackTrace:
java.lang.ClassCastException: com.liferay.portlet.ResourceResponseImpl не может быть приведен к javax.portlet.ActionResponse на com.brightsky.action.IPCActionBackingBean.addIPCAction (IPCActionBackingBean.java:63) в sun.reflect.NativeMethodAccessorImpl.invoke0 (собственный метод) в sun.reflect.NativeMethodAccessorImpl.invokel.java: 25) в java.lang.reflect.Method.invoke (Method.java:597) в org.jboss.el.util.ReflectionUtil.invokeMethod (ReflectionUtil.java:328) в org.jboss.el.util.ReflectionUtil.invokeMethod (ReflectionUtil.java:341) в org.jboss.el.parser.AstPropertySuffix.invoke (AstPropertySuffix.java:58) в org.jboss.el.parser.AstValue.invoke (AstValue.java: 96) в org.jboss.el.MethodExpressionImpl.invoke (MethodExpressionImpl.java:276) в com.sun.faces.facelets.el.TagMethodExpression.invoke (TagMethodExpression.java:102) в javax.faces.event.MethodExpressionActionListener.processAction (MethodExpressionActionListener.java:144) в javax.faces.event.ActionEvent.processListener (ActionEvent.java:84) в javax.faces.component.UIComponentBase.broadcast (UIComponentBase.javax.face.java:3).UICommand.broadcast (UICommand.java:296) на сайте javax.faces.component.UIViewRoot.broadcastEvents (UIViewRoot.java:781) на сайте javax.faces.component.UIViewRoot.processApplication (UIViewRoot.java:1246) в com.faces.lifecycle.InvokeApplicationPhase.execute (InvokeApplicationPhase.java:77) на com.sun.faces.lifecycle.Phase.doPhase (Phase.java:97) на com.sun.faces.lifecycle.LifecycleImpl.execute (LifecycleImpl.java:114) по адресу org.portletfaces.bridge.BridgeImpl.doFacesRequest (BridgeImpl.java:513) по адресу org.portletfaces.bridge.GenericFacesPortlet.serveResource (Generi)cFacesPortlet.java:131) в com.liferay.portlet.FilterChainImpl.doFilter (FilterChainImpl.java:119) в com.liferay.portal.kernel.portlet.PortletFilterUtil.doFilter (PortletFilterUtil.javarayal.port.javaray: at). com.kernel.servlet.PortletServlet.service (PortletServlet.java:92) в javax.servlet.http.HttpServlet.service (HttpServlet.java:717) в org.apache.catalina.core.ApplicationFilterChain.internalFilter (2) в org.apache.catalina.core.ApplicationFilterChain.doFilter (ApplicationFilterChain.java:206)
ПРИМЕЧАНИЕ : я использую Liferay & Icefaces.
Спасибо.