我正在尝试在 apache wicket 中加载一些资源文件(css 和 javascript),对于使用 forReference 加载的资源,我遇到了这个错误:
Failed to load resource: the server responded with a status of 403 (Forbidden)
其他加载 forUrl 一切正常。 我的基本网页中的代码是:
abstract public class BasePage extends WebPage implements IHeaderContributor {
private static final long serialVersionUID = 1L;
public BasePage() {
// some code
}
@Override
public void renderHead(IHeaderResponse response) {
response.render(JavaScriptHeaderItem.forUrl("//ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"));
response.render(JavaScriptHeaderItem.forUrl("//netdna.bootstrapcdn.com/bootstrap/3.1.0/js/bootstrap.min.js"));
response.render(CssReferenceHeaderItem.forUrl("//netdna.bootstrapcdn.com/bootstrap/3.1.0/css/bootstrap.min.css"));
CssResourceReference STYLE_CSS = new CssResourceReference(BasePage.class, "style.css");
response.render(CssReferenceHeaderItem.forReference(STYLE_CSS));
}
}
我尝试使用 wicket-experimental 的 wicket-bootstrap,我得到了相同的结果。 我在元素设置中缺少什么吗?
最佳答案
这是 wicket 7 中的一项新功能,用于限制来自 IAuthorizationStrategy 的资源,IAuthorizationStrategy#isResourceAuthorized(IResource, PageParameters) 方法执行此操作。如果此方法始终返回 false,那么您将获得上述行为。
我在我的应用程序中更改了它以返回 true 以具有与 wicket 版本 6 中相同的行为。
关于javascript - apache wicket 加载资源 - 错误 403(禁止访问),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21779117/