使用setResponsePage,如何添加我想要的页面的页面版本?

With setResponsePage, how can I add the page version of the page I want?

使用setReponsePage,如何添加我想要的页面的页面版本?例如 http://localhost:8080/wicket-testing/?3.

中的 3

谢谢。

您是否混淆了 wicket 页面(构造函数不需要 wicket-id)和面板(您必须提供 wicket-id)?

setResponsePage 本身接受 class(带有可选的 PageParameters)或一个实例作为参数:

setResponsePage(DestinationPage.class);
setResponsePage(DestinationPageWithPageParameters.class, new PageParameters().add("id", 42));
setResponsePage(new DestinationPageWithConstructorParameters(param1, param2));

如果您谈论的是面板(例如 MyPanel(String wicketId)),那么您需要将此面板嵌入到 wicket 页面中,因为您无法将面板传递给 setReponsePage

您需要使用 #setResponsePage(Page),而不是 #setResponsePage(Class)

首先,您需要获取对具有该 ID 的页面的引用:session.getPageManager().getPage(pageId)