如何改变一个板球容器的href ?



使用wicket 6.18.0和Java 8。我有一个简单的窗口面板:

<!DOCTYPE HTML>
<html xmlns:wicket="http://wicket.apache.org">
<wicket:panel>
<wicket:container wicket:id="editSection">
<div class="item"><a wicket:id="edit"><wicket:message key="edit" /></a</div>
</wicket:container>
</wicket:panel>
</html>

在我的网页中,我有这样的内容:

public class MainPage extends WebPage {
public MaintPage() {
WebMarkupContainer edit = new WebMarkupContainer("editSection");
edit.add(new AjaxHashLink("edit", "edit"));
add(edit.setVisible(true));
}
}

但是在url上,当我点击我的编辑链接时,由于AjaxHashLink,我在页面的末尾有#edit

但我希望它是/edit,但所以我认为有一些可以做的事情来修改链接的href

如果是路由到外部资源,你可以在这种情况下使用RedirectToUrlException

导致Wicket中断当前请求处理并发送重定向到给定url。如果您想重定向到外部或无Wicket url,请使用此方法。如果你想重定向到一个页面,使用RestartResponseException

你可以使用RequestCycle来获取解析当前页面url的帮助,并抛出异常:

throw new RedirectToUrlException(currentUrl + "#edit");

最新更新