在根URL上挂载参数会导致资源位置wicket崩溃

时间:2015-04-05 23:44:59

标签: wicket-6

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

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

有解决方法吗?

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:1)

感谢martin-g。覆盖MountMapper并将url段设置为1,因此它不会映射到其他资源。

 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");
    }

 }