Wicket从URL字符串生成BookmarkablePageLink或链接

Wicket从URL字符串生成BookmarkablePageLink或链接,wicket,wicket-1.6,wicket-6,Wicket,Wicket 1.6,Wicket 6,我的最终目标是在我的wicket站点表单中生成一个返回按钮 现在,我可以通过以下方式获得推荐人: HttpServletRequest req = (HttpServletRequest)getRequest().getContainerRequest(); l.info("referer: {}", req.getHeader("referer")); 这是可行的,我得到了整个URL(作为一个字符串),但我无法从中生成链接对象 虽然我已经看到了应用程序的代码,但我不确定其内部结构。addMo

我的最终目标是在我的wicket站点表单中生成一个返回按钮

现在,我可以通过以下方式获得推荐人:

HttpServletRequest req = (HttpServletRequest)getRequest().getContainerRequest();
l.info("referer: {}", req.getHeader("referer"));
这是可行的,我得到了整个URL(作为一个字符串),但我无法从中生成链接对象

虽然我已经看到了
应用程序的代码,但我不确定其内部结构。addMount
IRequestHandler
等等,我无法准确地找到将URL转换为生成
BookmarkablePageLink
所需的内容的确切位置:
页面参数

另外,我知道这可以通过JavaScript实现,但我想为没有JS活动的用户提供服务

谢谢

我目前使用的可能解决方案: 在我的标记中,我有:

<a wicket:id="backButton">Back</a>

如果有人有更好的想法,我会让它打开一段时间。

您应该可以使用

类似

public Component getBackButton(org.apache.wicket.request.Request request, String id) {
    HttpServletRequest req = (HttpServletRequest)request.getContainerRequest();
    String url = req.getHeader("referer");
    return new ExternalLink(id, url, "Back");
}
使用html

<a href="#" wicket:id="backButton">this body will be replaced</a>

页面对象代码保持不变

public Component getBackButton(org.apache.wicket.request.Request request, String id) {
    HttpServletRequest req = (HttpServletRequest)request.getContainerRequest();
    String url = req.getHeader("referer");
    return new ExternalLink(id, url, "Back");
}
<a href="#" wicket:id="backButton">this body will be replaced</a>