在Wicket 7.0.0-M6

时间:2015-07-23 16:57:44

标签: java wicket wicket-6

在一个应该加载JS资源的面板中,我使用以下方法向面板添加一个Behavior:

@Override
public void renderHead(Component component, IHeaderResponse response){
    response.render(JavaScriptHeaderItem.forReference(new
        JavaScriptResourceReference(relativeClass,
        WebApplication.get().getServletContext().getContextPath() +
        jsRef)));
}

从调试中逐步看出,name参数是前置于资源url的上下文路径,这正是我想要的!但是,当网站运行时,小组会查看localhost:8080/context/scopeURL/context/resourceURL而不是localhost:8080/context/resourceURL。范围不能设置为null,那么我必须使用name参数来正确访问资源吗?

将类保存在我尝试加载的脚本的根目录下的单独目录结构中,否则这不会是一个问题。对我来说,适用于Wicket 6.x的答案应适用于此版本。

1 个答案:

答案 0 :(得分:0)

JavaScriptResourceReference使用Class“relativeClass”作为范围,并在URL中对其进行编码。

您需要使用ContextRelativeResourceReference(jsRef)