我在Wicket中使用CSS样式的左侧菜单开发了一个应用程序。一切正常。然后,为了使URL为RESTful,我将WicketApplication.java更改为使用MixedParamUrlCodingStrategy。从那时起,样式停止工作。我不知道问题出在哪里。我什么都没改变。这是我的代码:

mount("/site",PackageName.forPackage(WelcomePage.class.getPackage()));
//
mount("/download",PackageName.forPackage(AppDownloadApi.class.getPackage()));

// mountBookmarkablePage("push/reg", PushRegApi.class);
   mountBookmarkablePage("push/send", PushMessageApi.class);
   mountBookmarkablePage("device", DeviceprofileExportAsXML.class);
// mountBookmarkablePage("app/download", AppDownloadApi.class);
// mountBookmarkablePage("ds/export", ExportDataSource.class);
// mountBookmarkablePage("control/export", ExportAsXML.class);

MixedParamUrlCodingStrategy ds = new MixedParamUrlCodingStrategy(
    "ds", ExportDataSource.class, new String[]{"name"});
mount(ds);

MixedParamUrlCodingStrategy control = new MixedParamUrlCodingStrategy(
    "control", ExportAsXML.class, new String[]{"controlName"});
mount(control);

MixedParamUrlCodingStrategy app = new MixedParamUrlCodingStrategy(
    "app", AppDownloadApi.class, new String[]{"appId"});
mount(app);

MixedParamUrlCodingStrategy pushReg = new MixedParamUrlCodingStrategy(
    enter code here  "push/reg", PushRegApi.class, new String[]{"appName",
    "groupName","userName","password","deviceToken"});
mount(pushReg);


如果我取消注释,并删除MixedParamUrlCodingStrategy,则一切正常。如何同时拥有RESTful URL和所需样式?

最佳答案

这可能与您将CSS链接到页面的方式有关。刚开始时,我们遇到了类似的问题,因为我们已经将CSS的路径硬编码到页面中,但是随后当我们更改某些页面的映射时,到CSS文件的相对路径不再有效。

我建议使用FireBug并检查“网络”选项卡,以查看CSS是否正在加载,以及是否正在加载请求的内容。

您可能需要使用CSSPackageResource.getHeaderContributer之类的东西才能将CSS正确链接到页面。

10-07 16:23
查看更多