【发布时间】:2011-05-08 12:32:02
【问题描述】:
考虑一个重定向到另一个页面的 Wicket 网页(基于此处省略的一些逻辑):
public class SomePage extends WebPage {
public SomePage(PageParameters parameters) {
setResponsePage(AnotherPage.class);
setRedirect(true);
}
}
我需要将 PageParameters 传递给其他页面,这似乎是这样做的方法:
setResponsePage(new AnotherPage(parameters));
但是,当像这样创建一个新的 Page 对象时,我最终会得到一个 URL,例如 /?wicket:interface=:1::::,而不是干净的 /another。另一个页面定义为:
@MountPath(path = "another")
public class AnotherPage extends WebPage {
// ...
}
(MountPath 来自 org.wicketstuff.annotation.mount 包。)
所以,我的问题是:
- 传递参数的其他方式?
- 保持 URL 美观的方法?以上是 Wicket Stuff 的特定限制,而不是核心 Wicket?
更新
嘿,结果任何建议的方法都有效,也是我最初尝试的方法 - setResponsePage(new AnotherPage(parameters)) - 只要我删除 setRedirect(true)。在这种情况下,URL 确实保持不变(指向 SomePage 的路径),并且 我刚刚意识到我真的应该从一开始就提到,如果它这样做也没关系(只要它“漂亮”并且参数传递)!
页面(“SomePage”)根据查询参数将请求分派到几个可能的结果页面,这些页面看起来不同但通过相同的 url 访问。我试图将问题表述为尽可能通用和简约,但由于我遗漏了相关信息,结果出现了问题。 :-/
很抱歉,如果这对其他人来说很奇怪、不清楚或无用。如果您对重命名有任何建议,请随时发表评论。
【问题讨论】:
标签: java redirect wicket friendly-url