将Javascript库包括到Wicket面板
我有两个脚本文件lib_network.js和network.js。我在network.js中有一个draw()函数,它调用lib_network.js中的另一个函数。这两个文件都使用d3.js函数来执行特定任务 我以以下方式将这两个文件添加到wicket面板将Javascript库包括到Wicket面板,java,javascript,d3.js,wicket,Java,Javascript,D3.js,Wicket,我有两个脚本文件lib_network.js和network.js。我在network.js中有一个draw()函数,它调用lib_network.js中的另一个函数。这两个文件都使用d3.js函数来执行特定任务 我以以下方式将这两个文件添加到wicket面板 public static final JavaScriptResourceReference NETWORK_JS = new JavaScriptResourceReference( SenseAlign.cl
public static final JavaScriptResourceReference NETWORK_JS = new JavaScriptResourceReference(
SenseAlign.class, "network.js");
public static final JavaScriptResourceReference NETWORK_CSS = new JavaScriptResourceReference(
SenseAlign.class, "network.css");
public NetworkPanel(String id){
super(id);
}
@Override
public void renderHead(IHeaderResponse aResponse){
super.renderHead(aResponse);
aResponse.render(JavaScriptReferenceHeaderItem.forReference(D3Reference.D3_JS));
aResponse.render(JavaScriptReferenceHeaderItem.forReference(JqueryReference.jQuery_JS));
aResponse.render(JavaScriptReferenceHeaderItem.forReference(NetworkLibrary.LIB_NETWORK_JS));
aResponse.render(JavaScriptReferenceHeaderItem.forReference(NETWORK_JS));
aResponse.render(JavaScriptReferenceHeaderItem.forReference(NETWORK_CSS));
String[] annotatorScript = new String[] {
"draw(\"" + getMarkupId() + "\")"};
aResponse.render(OnDomReadyHeaderItem.forScript(StringUtils.join(annotatorScript, "\n")));
}
当我尝试调用lib_network.js中的函数时,出现了一个错误
未捕获类型错误:未定义不是函数
而且css文件没有正确加载。获取语法错误,但语法是正确的,因为我在文件中只添加了两个类
有谁能告诉我包含资源的正确方法吗
我试着在cwiki和wicket指南中寻找答案。他们说的是上述方式,但对我来说仍然不起作用
new JavaScriptResourceReference(SenseAlign.class, "network.css")
您不应该对CSS文件使用JavaScriptResourceReference,否则将使用Javascript压缩器对其进行压缩。改用CssResourceReference。无论是谁否决了它,请告诉我投票的原因,因为这是一个好问题谢谢!我把它改为CSS资源,它工作得很好。但我仍然无法调用该函数。