When learning about JSP and servlets, I heard about redirect and dispatch. Which of them does Wicket's setResponsePage()
perform?
What setResponsePage
does is dependent on a couple of factors: how many times you call setResponsePage, which variant of the setResponsePage you call and what render strategy you use.
You can call setResponsePage
many times during a request. Wicket uses the last one to work with.
There are two variants of setResponsePage: with a Page
instance and with a Page
class and PageParameters
. The latter sends a redirect to a bookmarkable URL to the browser. The former will, depending on the render strategy, either:
- ONE_PASS_RENDER
- render the page directly to the browser
- REDIRECT_TO_BUFFER
- render the page to a buffer, send a redirect to the browser (which then retrieves the buffered, rendered markup), or
- REDIRECT_TO_RENDER
- send a redirect to the browser, which then sends a request to render the page
So the first option is dispatch, the second option is dispatch followed by a redirect, and the third option would be redirect in servlet terms.
setResponsePage(PageName.class) will redirect the browser to the PageName you need to go. Make sure that, you have already mount your Page.class to a given path. For example, in your Application init method, you can mount like this mountPage("/home.html", WelcomePage.class); then in some other page, when you have a need to go to the home page, you just call like this setResponsePage(WelcomePage.class);
© 2022 - 2024 — McMap. All rights reserved.