I agree with this. Now that said, Trinidad should not be committing the response until the render phases of the lifecycle. Can you let me knew what version of Trinidad you're running?
Typically though, your redirect should happen in response to an event, though, like an action event. Scott On Feb 13, 2011, at 6:22 AM, Anton Gavazuk <[email protected]> wrote: > Nina, > > 1) as for me the decision to send redirect looks very ...strange. Please > review your design > 2) This error basically means that response is already flushed, there is no > possibility to make another redirect/forward > > 2011/2/13 נינה נפטולייב משה <[email protected]> > >> Hello, >> >> We have a jspx page that includes a panel that has a binding to a managed >> bean. >> The get function calls redirect. >> When the application runs we get the exception, >> "java.lang.IllegalStateException: Response already committed" >> That is coming from Trinidad filter. >> When we run an application without Trinidad components, the redirect works >> fine. >> >> >> Please help us, >> Thank you! >> >> Nina >> >> java.lang.IllegalStateException: Response already committed >> at >> weblogic.servlet.internal.ServletResponseImpl.objectIfCommitted(ServletResponseImpl.java:1602) >> at >> weblogic.servlet.internal.ServletResponseImpl.sendRedirect(ServletResponseImpl.java:833) >> at >> javax.servlet.http.HttpServletResponseWrapper.sendRedirect(HttpServletResponseWrapper.java:136) >> at >> javax.servlet.http.HttpServletResponseWrapper.sendRedirect(HttpServletResponseWrapper.java:136) >> at >> com.malam.payroll4Web.viewContoller.general.page.MainMenu.getMainMenuPanel(MainMenu.java:182) >> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >> at >> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) >> at >> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) >> at java.lang.reflect.Method.invoke(Method.java:597) >> at javax.el.BeanELResolver.getValue(BeanELResolver.java:261) >> at >> javax.el.CompositeELResolver.getValue(CompositeELResolver.java:143) >> at >> com.sun.faces.el.FacesCompositeELResolver.getValue(FacesCompositeELResolver.java:72) >> at com.sun.el.parser.AstValue.getValue(AstValue.java:118) >> at >> com.sun.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:192) >> at >> com.sun.faces.application.ApplicationImpl.createComponent(ApplicationImpl.java:251) >> at >> javax.faces.webapp.UIComponentELTag.createComponent(UIComponentELTag.java:222) >> at >> javax.faces.webapp.UIComponentClassicTagBase.createChild(UIComponentClassicTagBase.java:486) >> at >> javax.faces.webapp.UIComponentClassicTagBase.findComponent(UIComponentClassicTagBase.java:670) >> at >> javax.faces.webapp.UIComponentClassicTagBase.doStartTag(UIComponentClassicTagBase.java:1142) >> at >> com.sun.faces.taglib.html_basic.PanelGridTag.doStartTag(PanelGridTag.java:355) >> at >> jsp_servlet._jsps._general.__mainmenu_jspx._jspService(__mainmenu_jspx.java:242) >> at weblogic.servlet.jsp.JspBase.service(JspBase.java:34) >> at >> weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227) >> at >> weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125) >> at >> weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:300) >> at >> weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:183) >> at >> weblogic.servlet.internal.RequestDispatcherImpl.invokeServlet(RequestDispatcherImpl.java:526) >> at >> weblogic.servlet.internal.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:253) >> at >> com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:410) >> at >> org.apache.myfaces.trinidad.context.ExternalContextDecorator.dispatch(ExternalContextDecorator.java:44) >> at >> org.apache.myfaces.trinidad.context.ExternalContextDecorator.dispatch(ExternalContextDecorator.java:44) >> at >> org.apache.myfaces.trinidad.context.ExternalContextDecorator.dispatch(ExternalContextDecorator.java:44) >> at >> org.apache.myfaces.trinidad.context.ExternalContextDecorator.dispatch(ExternalContextDecorator.java:44) >> at >> org.apache.myfaces.trinidadinternal.context.FacesContextFactoryImpl$OverrideDispatch.dispatch(FacesContextFactoryImpl.java:267) >> at >> com.sun.faces.application.ViewHandlerImpl.executePageToBuildView(ViewHandlerImpl.java:473) >> at >> com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:141) >> at >> javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:189) >> at >> org.apache.myfaces.trinidadinternal.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:193) >> at >> oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._renderResponse(LifecycleImpl.java:710) >> at >> oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executePhase(LifecycleImpl.java:273) >> at >> oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:205) >> at >> javax.faces.webapp.FacesServlet.service(FacesServlet.java:266) >> at >> weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227) >> at >> weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125) >> at >> weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:300) >> at >> weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26) >> at >> weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56) >> at >> oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:191) >> at >> weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56) >> at >> oracle.adfinternal.view.faces.webapp.rich.RegistrationFilter.doFilter(RegistrationFilter.java:97) >> at >> org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:420) >> at >> oracle.adfinternal.view.faces.activedata.AdsFilter.doFilter(AdsFilter.java:60) >> at >> org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:420) >> at >> org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:247) >> at >> org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:157) >> at >> org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92) >> at >> weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56) >> at >> oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:94) >> at java.security.AccessController.doPrivileged(Native Method) >> at >> oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:313) >> at >> oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:414) >> at >> oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:138) >> at >> oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:71) >> at >> weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56) >> at >> oracle.dms.wls.DMSServletFilter.doFilter(DMSServletFilter.java:330) >> at >> weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56) >> at >> weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27) >> at >> weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56) >> at >> weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.doIt(WebAppServletContext.java:3684) >> at >> weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3650) >> at >> weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321) >> at >> weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121) >> at >> weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2268) >> at >> weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2174) >> at >> weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1446) >> at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201) >> at weblogic.work.ExecuteThread.run(ExecuteThread.java:173) >> >> >> >> >> public HtmlPanelGrid getPanel1() throws IOException { >> try { >> HttpServletResponse response = >> >> (HttpServletResponse)FacesContext.getCurrentInstance().getExternalContext().getResponse(); >> response.sendRedirect("https://google.co.il"); >> } catch (Exception ioe) { >> // TODO: Add catch code >> ioe.printStackTrace(); >> } >> >> return panel1; >> } >> >> >> The jspx page: >> >> <?xml version='1.0' encoding='windows-1255'?> >> <jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" version="2.1" >> xmlns:f="http://java.sun.com/jsf/core" >> xmlns:h="http://java.sun.com/jsf/html"> >> <jsp:output omit-xml-declaration="true" doctype-root-element="HTML" >> doctype-system="http://www.w3.org/TR/html4/loose.dtd" >> doctype-public="-//W3C//DTD HTML 4.01 Transitional//EN"/> >> <jsp:directive.page contentType="text/html;charset=windows-1255"/> >> <f:view> >> <html> >> <head> >> <meta http-equiv="Content-Type" >> content="text/html; charset=windows-1255"/> >> <title>untitled1</title> >> </head> >> <body> >> <h:form> >> <h:panelGrid columns="2" binding="#{test.panel1}"/> >> </h:form> >> </body> >> </html> >> </f:view> >> </jsp:root> >> >> ________________________________ >> לשימת לבך, בהתאם לנהלי החברה וזכויות החתימה בה, כל הצעה, התחייבות או מצג >> מטעם החברה, מחייבים מסמך נפרד וחתום על ידי מורשי החתימה של החברה, הנושא את >> לוגו החברה או שמה המודפס ובצירוף חותמת החברה. בהעדר מסמך כאמור (לרבות מסמך >> סרוק) המצורף להודעת דואר אלקטרוני זאת, אין לראות באמור בהודעה אלא משום טיוטה >> לדיון, >> ואין להסתמך עליה לביצוע פעולה עסקית או משפטית כלשהי. >> >> >> Please note that in accordance with Malam's signatory rights, no offer, >> agreement, concession or representation is binding on the company, >> unless accompanied by a duly signed separate document (or a scanned version >> thereof), affixed with the company's seal. >>

