在根 url 上安装参数会使资源位置窗口崩溃

Mounting a parameter on the root url crashes resource location wicket

在我的 wicket 应用程序设置中,我希望在根目录上安装一个用户名参数,例如

mountPage (Profile.class, "/${username}") 类似于 twitter 将用户名映射到其帐户的方式。在 wicket 中,这似乎会使资源定位算法崩溃。从某种意义上说,所有 css、js 文件现在都加载了 404。

有解决办法吗?

代码应如下所示:mountPage (Profile.class, "/${username}")。请注意我添加的 $。这意味着命名路径参数是必需的。

如果这不能解决问题,请提供有关问题的更多详细信息。

感谢马丁-g。通过将 url 段设置为 1 来覆盖 MountMapper,这样它就不会映射到其他资源。

 public class UsernameMountUrlMapper extends MountedMapper {

    public UsernameMountUrlMapper(String mountPath,
         Class<? extends IRequestablePage> pageClass) {
       super(mountPath, pageClass);
  }

  @Override
  protected boolean urlStartsWithMountedSegments(Url url) {
      return url.getSegments().size() == 1 &&      !url.getPath().equals("favicon.ico") && !url.getPath().equals("oops") && !url.getPath().equals("Index");
    }

 }