In my current project I'm building a web app which is essentially made of pages mounted at a precise path which I guess it's a quite common design pattern with Wicket and web apps in general. Shortly after starting to work on this project I was asked to get rid of the page id to make page urls more "clean". This is something that it's relatively easy to achieve, and it has also been discussed different times on StackOverflow and on our mailing list. Essentially we have to create a custom MountedMapper overriding encodePageComponentInfo in order to skip pageInfo. Something like:
public class NoPageIdMapper extends MountedMapper { @Override protected void encodePageComponentInfo(Url url, PageComponentInfo info) { if (info.getComponentInfo() != null) { super.encodePageComponentInfo(url, info); } } } I've also found that some popular Wicket projects like OneDev or Orienteer adopt a similar solution. So I'm starting to wonder if we should consider to provide a standard solution for those who are interested in this kind of behavior. WDYT? -- Andrea Del Bene. Apache Wicket committer.