[ https://issues.apache.org/jira/browse/COCOON-1964?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Reinhard Poetz updated COCOON-1964: ----------------------------------- Summary: Redirects inside a block called via the servlet protocol fail (was: Redirects inside a block called via the blocks protocol fail) > Redirects inside a block called via the servlet protocol fail > ------------------------------------------------------------- > > Key: COCOON-1964 > URL: https://issues.apache.org/jira/browse/COCOON-1964 > Project: Cocoon > Issue Type: Bug > Components: - Servlet service framework > Affects Versions: 2.2-dev (Current SVN) > Reporter: Alexander Klimetschek > Priority: Critical > Attachments: cocoon-allow-redirect-in-called-block.patch > > > If you do a redirect (from within a piece of flowscript > "cocoon.redirectTo('cocoon:/foobar')" or via redirect-to in the sitemap) > inside a block that was called via the block: protocol will fail since the > re-use of the outputstream of the response (which happens to be a > BlockCallHttpServletResponse) does not work. > This is due to the use of getWriter() after getOutputStream() has already > been called. The servlet api says that only one of them should be called, so > there is a check in the implementation of getWriter() that will throw an > IllegalStateException. The patch removes that check, which is kinda hack, but > I don't know of any other cases within cocoon where such a re-use is made. > The problem could be avoided if during the redirect a reset() or > resetBuffer() would be called on the response, but for some reason this does > not happen with a redirect from within a flowscript for a form. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.