在我的wicket应用程序设置中,我希望在根目录上安装用户名参数,如
mountPage(Profile.class,“/ $ {username}”)类似于twitter将用户名映射到其帐户的方式。在wicket中,这似乎使资源定位算法崩溃。从某种意义上说,所有css,js文件现在加载404。
有解决方法吗?
答案 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");
}
}