WicketでURLをStringで取得する方法

WicketではWebApplicationを継承したクラスのinitメソッドの中で、PageクラスのURLを指定します。
リンクでこのURLを使いたいときには、BookmarkableLinkのようなLink系のクラスを使えば問題ないにですが、メールの時などURLをStringで取得したいときは結構あると思います。
その場合、WebPageクラスのurlForというメソッドに取得したいページのPageクラスとパラメータを渡してやれば、BookMarkableなURLを取得することができます。

public class IndexPage extends WebPage {
    public IndexPage() {
         String url = urlFor(IndexPage.class, new PageParameters("id=0")).toString();
    }
}

このとき得られるURLは相対的なURLになるので、絶対URLを取得したい場合は以下のように行います。

RequestUtils.toAbsolutePath(url);

また、FormやPanelのようなコンポーネントで実行したい場合は、getPageメソッドでページクラスを取得してからurlForを実行します。