在根 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");
}
}
在我的 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");
}
}