Wicket 6:包含脚本标记的Javascript文件

时间:2014-05-16 16:07:28

标签: java wicket

我想这个标题是非常自我描述性的,但在这里它仍然存在:我有一个Panel,我想用我的系统中的javascript文件添加多个脚本标签。

我尝试了以下内容,但脚本标签仍未显示。

@Override
public void renderHead(IHeaderResponse response) {
  super.renderHead(response);
  for(String path : arrayOfJsFiles){
    response.render(JavaScriptHeaderItem
        .forReference(new PackageResourceReference(getClass(),
                path)));
  }

}

1 个答案:

答案 0 :(得分:1)

在不知道项目的确切文件层次结构的情况下,我无法确定问题究竟是什么,但我可以给你一些指示。

首先,如果我理解正确,javascript文件与您提供的代码所在的类不在同一个包中。这不是PackageResourceReference所期望的。 资源是该文件的中的资源;所以如果你有一个com / custom / MyClass.java类,你的包资源也应该位于同一个文件夹中,即com / custom / some-javascript.js

因此,在构造函数PackageResourceReference#PackageResourceReference(Class, String)中,您提供了两件事:范围名称。范围是与资源位于同一个包中的类,名称只是文件的名称,而不是文件的路径;路径由范围定义。

我不确定这是否是最好的方法,但是当我需要使用全局资源时,我实际上并没有构建ResourceReference,而是使用 JavaScriptHeaderItem.forUrl("./js/some-javascript.js")等呈现资源(./js/是webapp / js /文件夹)。

但是,我不确定这是否是处理资源的正确方法。我强烈建议您阅读this,因为它可以很好地涵盖资源并可以帮助您解决问题。