私は wicket 1.5 アプリケーションをコーディングしていますが、セキュリティ上の理由から URL のレンダリング方法を制御する必要があります。
mountPage("xxx/yyy", Zzzz.class)
それには優れていますが、リンクリスナー用に生成されたURLに問題があります。たとえば、次のリンクを自分のページに追加するとします。
add(new Link<Void>("link-login") {
@Override
public void onClick() {
setResponsePage(LoginPage.class);
}
});
次の生成されたマークアップを取得します。
<a wicket:id="link-login" href="./home?0-1.ILinkListener-accessMenu-link~login">Login</a>
生成された URL ( ./home?0-1.ILinkListener-accessMenu-link~login
) を構成する方法はありますか? せめて~の文字は消したいです。
編集: 解決済み...改札のスタッフによると、生成された href は改札のパスを区切り文字として「-」を使用してエンコードします。ウィケット ID に「-」が含まれている場合、競合を避けるために「~」に変換されます。これを避けるには、ウィケット ID から「-」を削除してください。