Wicket:单击 link 后滚动到某个锚点

Wicket: scroll to certain anchor after clicking a link

我已经从另一个线程询问了 similar question for a form, but now need to scroll to an anchor after the user clicked a certain link - my solution 不起作用。 :(

final Link link = new StatelessLink("linkId") {
  @Overrride
  public void onClick() {
    doSomething();

    add(new Behavior() {
       @Override
       public void renderHead(Component component, IHeaderResponse response) {
         super.renderHead(component, response);

         response.render(new HeaderItem() {
           @Override
           public Iterable<?> getRenderTokens() {
             return Collections.singletonList("javascript-anchor");
           }

           @Override
           public void render(Response response) {
             response.write("<script type=\"text/javascript\">\n");
             response.write("window.location.href='#rules';\n");
             response.write("</script>\n");
           }
         });
       }
     });
     setResponsePage(getClass(), getPageParameters());
  }
}

这种方法有什么问题以及如何实现所需的滚动到锚点效果?

我正在使用以下非JavaScript代码:

final Link link = new StatelessLink("linkId") {
  @Overrride
  public void onClick() {
    doSomething();

    final String url = RequestCycle.get().getUrlRenderer().renderFullUrl(Url.parse(urlFor(getClass(), getPageParameters()))) + "#rules;
    setResponsePage(new RedirectPage(url));
  }
}