Wicket URLのbookmarkablePage構造を変更するには?

Wicket URL bookmarkablePage構造を変更するには?

問題

デフォルトでは、Wicketで生成されたURLは、長くてsuckくて、ページの完全修飾クラス名を含んでいます。 それはこのように見えます:

http://localhost:8080/example?wicket:bookmarkablePage=:com.example.page.ResultPage&url=google.com

Note
URLの「wicket:bookmarkablePage」とは一体何ですか。また、Wicketがこのような醜いURL構造を生成したのはなぜですか。 Wicketアプリケーションをクライアントサイトにデプロイした後、多くのクライアントのメールが送信され、andいbookmarkablePage URL構造に関する苦情が寄せられます。 有線で聞こえるだけで、まったく意味がありません。これの利点は何ですか? このvisitいURLアドレスをブックマークするように訪問者に依頼しますか?

溶液

幸い、Wicketは「URL mounting」機能を提供して、醜いURLのブックマーク可能なページをアプリケーションの特定のパスにクロークします。

これを修正するには、Wicketアプリケーションクラスのデフォルトの醜いURL構造である「init()」メソッドを次のように変更します。

import org.apache.wicket.protocol.http.WebApplication;
import org.apache.wicket.request.target.coding.QueryStringUrlCodingStrategy;
import com.example.user.SuccessPage;

public class WicketApplication extends WebApplication {

    @Override
    protected void init() {
        super.init();
        mount(new QueryStringUrlCodingStrategy("result",ResultPage.class));
    }
}

QueryStringUrlCodingStrategy()を使用して、「ResultPage.class」ページをすっきりとしたわかりやすいURL構造「result」にマウントします。出力を参照してください。

http://localhost:8080/example/result?url=google.com