Wicket URLのbookmarkablePage構造を変更するには?
問題
デフォルトでは、Wicketで生成されたURLは長くて醜いですが、ページの完全修飾クラス名を含んでいます。それは次のようになります。
http://localhost:8080/mkyong?wicket:bookmarkablePage=:com.mkyong.page.ResultPage&url=google.com
解決策
幸運なことに、Wicketは、醜いURLブックマーク可能なページをアプリケーションの特定のパスに覆い隠すための ”
URLマウント
“機能を提供しています。
これを修正するには、Wicketアプリケーションクラスの ”
init()
“メソッドのデフォルトの醜いURL構造を次のように変更します
import org.apache.wicket.protocol.http.WebApplication;
import org.apache.wicket.request.target.coding.QueryStringUrlCodingStrategy;
import com.mkyong.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/mkyong/result?url=google.com