You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by "Martin Grigorov (JIRA)" <ji...@apache.org> on 2012/07/10 09:47:37 UTC

[jira] [Resolved] (WICKET-4636) Using setResponsePage() before page rendering should skip the rendering of the page

     [ https://issues.apache.org/jira/browse/WICKET-4636?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Martin Grigorov resolved WICKET-4636.
-------------------------------------

       Resolution: Fixed
    Fix Version/s: 1.5.8
                   6.0.0-RC1
         Assignee: Martin Grigorov

The test provided by Andrea is committed.

About the other improvement: the only way I see to do this is to rework setResponsePage() methods to use NonResettingRestartResponseException instead of scheduling a request handler in the request cycle's stack.
This way any set headers/cookies will be preserved as it works now.

Let's investigate this optimization is a separate ticket.
                
> Using setResponsePage() before page rendering should skip the rendering of the page
> -----------------------------------------------------------------------------------
>
>                 Key: WICKET-4636
>                 URL: https://issues.apache.org/jira/browse/WICKET-4636
>             Project: Wicket
>          Issue Type: Improvement
>          Components: wicket
>    Affects Versions: 1.5.7
>            Reporter: Bertrand Guay-Paquet
>            Assignee: Martin Grigorov
>            Priority: Minor
>              Labels: redirect, requestcycle
>             Fix For: 6.0.0-RC1, 1.5.8
>
>         Attachments: WICKET-4636.diff, testCase.diff
>
>
> This ticket follows from the email thread http://markmail.org/thread/uk5y4ddoopntmkgd
> When setResponsePage() is used, the current page is still rendered. The response thus generated is then thrown away completely and a replacement request handler is used. I can think of 3 reasons why this should be avoided:
> 1-Performance; it's wasteful to render components to discard them right away
> 2-Needs complete components hierarchy; even if setResponsePage() is used in a page constructor (e.g. when redirecting depending on page parameters), since the page will be rendered, all of its components or some substitutes must be added to the page. Otherwise Wicket will throw a missing component exception in dev mode.
> 3-Feedback messages; if the needlessly rendered page contains a feedback panel, feedback messages registered in the session will be swallowed by the thrown away page rendering.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira