gpt4 book ai didi

java - Wicket 口重定向 : how to pass on parameters and keeps URLs "pretty"?

转载 作者:搜寻专家 更新时间:2023-10-31 08:21:20 25 4
gpt4 key购买 nike

考虑重定向到另一个页面的 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”)根据查询参数将请求分派(dispatch)到几个可能的结果页面,这些页面看起来不同但可以通过相同的 url 访问。我试图将问题表述得尽可能通用和简约,但由于我遗漏了相关信息而出错了。 :-/

如果这对其他人来说很奇怪、不清楚或无用,我们深表歉意。如果您有关于重命名的建议,请随时发表评论。

最佳答案

seanizer 的想法是正确的,但为了完整性,还有比 BookmarkablePageRequestTargetUrlCodingStrategyHybridUrlCodingStrategy 更多的选项:

关于java - Wicket 口重定向 : how to pass on parameters and keeps URLs "pretty"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4155591/

25 4 0