Wicket 6:将内联javascript写入正文中的脚本标记

时间:2014-01-27 13:37:35

标签: wicket wicket-1.6 wicket-6

在Wicket中工作6.我的页面包含html中对第三方库的javascript引用。我有一个额外的标准工具块,我通过JavaScriptHeaderItem包含在自定义组件的Behavior类的renderHead中。

现在,同一个组件需要编写一些内联的特定javascript代码来调用这两个包含的方法。问题是,即使加载了这些包含中的简单变量,代码也会运行。 Wicket将ABOVE第三方库放在标题中。

我想在正文中的标记中呈现代码,以确保在代码运行之前至少都加载了代码。第三方库有一个DomReady事件,但至少需要定义基本变量。

我认为我打算以某种方式使用FilteringHeaderResponse或HeaderResponseContainer,但是示例/ javadocs对我来说并不是很清楚。假设我的内联javascript意味着:

String js =“alert('Hello'”+ userName +“);”;

来自java的

它不是,它比那更复杂,但如果是,我将如何从FormComponentPanel渲染这个内联javascript?我如何动态地包含我的自定义js,但是确保它在标题中呈现第3方js,但在我的内联脚本运行之前?

2 个答案:

答案 0 :(得分:1)

我最终使用了:

response.render(OnDomReadyHeaderItem.forScript(writeGridJS()));

答案 1 :(得分:0)

将你的js放入像my.js这样的文件中,并将其设为ResourceReference。然后将您的代码所依赖的库作为依赖项添加到此ResourceReference。在这里你有两个很好的联系:

http://wicketinaction.com/2012/07/wicket-6-resource-management/

http://wicket.apache.org/guide/guide/chapter14.html#chapter14_5

相关问题