在学习 JSP 和 servlet 时,我听说过重定向和分派。威克特setResponsePage()
表演的是哪一个?
user1096311
问问题
8967 次
2 回答
19
什么setResponsePage
取决于几个因素:调用 setResponsePage 的次数、调用的 setResponsePage 的哪个变体以及使用的渲染策略。
您可以setResponsePage
在请求期间多次调用。Wicket 使用最后一个来处理。
setResponsePage 有两种变体:带有Page
实例和带有Page
类和PageParameters
. 后者将重定向发送到浏览器的可收藏 URL。根据渲染策略,前者将:
- ONE_PASS_RENDER
- 将页面直接渲染到浏览器
- REDIRECT_TO_BUFFER
- 将页面渲染到缓冲区,向浏览器发送重定向(然后检索缓冲的渲染标记),或者
- REDIRECT_TO_RENDER
- 向浏览器发送重定向,然后浏览器发送请求以呈现页面
所以第一个选项是分派,第二个选项是分派,然后是重定向,第三个选项是 servlet 术语中的重定向。
于 2012-04-11T06:22:23.350 回答
1
setResponsePage(PageName.class) 会将浏览器重定向到您需要去的 PageName。确保您已经将 Page.class 挂载到给定路径。例如,在您的 Application init 方法中,您可以像这样挂载 mountPage("/home.html", WelcomePage.class); 然后在其他页面,当你需要去主页时,你只需像这样调用 setResponsePage(WelcomePage.class);
于 2013-04-09T16:22:27.753 回答