问题
默认情况下,Wicket生成的URL很烂,丑陋,并且包含页面的完全限定的类名。 它看起来像这样:
http://localhost:8080/mkyong?wicket:bookmarkablePage=:com.mkyong.page.ResultPage&url=google.com
注意
URL中的“ wicket:bookmarkablePage ”到底是什么,为什么Wicket生成如此丑陋的URL结构? 在将Wicket应用程序部署到客户端站点之后,许多客户端的电子邮件发送并抱怨丑陋的ableableablePage URL结构。 它只是有线的,根本没有任何意义,这有什么好处? 您是否要让我的访客为这个丑陋的URL地址添加书签?
解
幸运的是,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
翻译自: https://mkyong.com/wicket/how-do-change-wicket-url-bookmarkablepage-structure-url-mounting/