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