Wicket setResponsePage()方法如何工作?

时间:2012-04-10 17:29:55

标签: java wicket

在了解JSP和servlet时,我听说了重定向和调度。 Wicket的setResponsePage()表演中的哪一个?

2 个答案:

答案 0 :(得分:18)

setResponsePage的作用取决于几个因素:您调用setResponsePage的次数,您调用的setResponsePage的哪个变体以及您使用的渲染策略。

您可以在请求期间多次致电setResponsePage。 Wicket使用最后一个来处理。

setResponsePage有两种变体:Page个实例,Page类和PageParameters。后者将重定向发送到浏览器的可收藏URL。前者将取决于render strategy

  • ONE_PASS_RENDER
    • 将页面直接呈现给浏览器
  • REDIRECT_TO_BUFFER
    • 将页面渲染到缓冲区,向浏览器发送重定向(然后检索缓冲的渲染标记)或
  • REDIRECT_TO_RENDER
    • 向浏览器发送重定向,然后发送请求以呈现页面

所以第一个选项是dispatch,第二个选项是dispatch,后跟重定向,第三个选项是servlet术语中的重定向。

答案 1 :(得分:1)

setResponsePage(PageName.class)会将浏览器重定向到您需要的PageName。 确保您已将Page.class挂载到给定路径。 例如,在Application init方法中,您可以像这样安装 mountPage(“/ home.html”,WelcomePage.class); 然后在其他页面中,当您需要转到主页时,您就这样打电话  的 setResponsePage(WelcomePage.class);