Wicket 1.5正文标记中的Javascript文件

rot*_*sch 3 javascript wicket

我需要在body中放置一个script-tag,因为javascript在head标签中不起作用.

从Wicket 1.5开始,不再支持以下代码:

add(new JavaScriptReference("wz_tooltip", new JavaScriptResourceReference(BaseTemplate.class, "wz_tooltip.js")));
Run Code Online (Sandbox Code Playgroud)

这是因为该类JavaScriptReference不再存在.

我显然不能使用新renderHead方法.

到目前为止我的解决方法:

WebMarkupContainer script = new WebMarkupContainer("script");
script.add(new AttributeAppender("type", Model.of("text/javascript")));
script.add(new AttributeAppender("src", Model.of("wz_tooltip.js")));
add(script);
Run Code Online (Sandbox Code Playgroud)

真的很丑,除了它不起作用; 找不到javascript文件.

有没有其他解决方法或"正确"的方法来做到这一点?

jbr*_*ver 6

您是否尝试过使用带有资源引用的urlFor?就像是..

script.add(new AttributeAppender("src", urlFor(new JavaScriptResourceReference(BaseTemplate.class, "wz_tooltip.js"), null).toString())); 
Run Code Online (Sandbox Code Playgroud)

由于Wicket的复杂资源管理,我不希望您当前的方法能够开箱即用.此外,虽然可能有其他"正确"的方法来做事,但我经常发现第三方javascript对于放置很挑剔,我仍然需要依靠这种方法来处理某些脚本.

例如,我使用的一个脚本必须是页面上的最后一个元素.