Java 导叶头部层次结构
我对标签有点困惑。我从wicket 1.5知道头部渲染策略从父->子->子->父更改为子->子 现在我使用wicket 6.9,我有一个简单的菜单面板,我想使用一些jquery效果。 我想对整个应用程序使用相同的jquery(例如google)文件 我不能仅在主页面中使用jquery链接,因为在呈现菜单面板中有“$(document).ready”,并且无法识别它。阅读一些论坛,我发现面板应该包含jquery本身——这是合理的,因为它可以独立地重用 因此,现在我的页面包括:Java 导叶头部层次结构,java,wicket-1.5,wicket-1.6,wicketstuff,Java,Wicket 1.5,Wicket 1.6,Wicketstuff,我对标签有点困惑。我从wicket 1.5知道头部渲染策略从父->子->子->父更改为子->子 现在我使用wicket 6.9,我有一个简单的菜单面板,我想使用一些jquery效果。 我想对整个应用程序使用相同的jquery(例如google)文件 我不能仅在主页面中使用jquery链接,因为在呈现菜单面板中有“$(document).ready”,并且无法识别它。阅读一些论坛,我发现面板应该包含jquery本身——这是合理的,因为它可以独立地重用 因此,现在我的页面包括: <head&g
<head>
...
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.js"></script>
...
</head>
...
...
我的菜单面板也是一样的。作为呈现html的结果,我加载jquery.js两次
我应该如何解决它?我只想加载一次。我知道我可以回到原来的策略,使用application.getResourcesSettings().setHeaderItemComparator(),但据我所知,这并不是最好的解决方案
我可以在wicket中找到类似PriorityHeaderItem的类,但wicket的文档非常差,没有找到任何使用它的示例
致以最良好的祝愿,因为wicket 1.6 jQuery现在是框架使用的javascript库。因此,您可能会看到jQuery两次,因为您包含了一个jQuery和wicket版本?如果要覆盖jQuery版本,可以创建一个资源引用,然后在应用程序类的init方法中设置它 首先,您需要资源引用文件,并将js文件放在相同的包结构中
public final类JQueryResourceReference扩展了JavaScriptResourceReference{
私有静态最终JQueryResourceReference实例=新的JQueryResourceReference();
私有JQueryResourceReference(){
super(JQueryResourceReference.class,“jquery.js”);
}
公共静态JQueryResourceReference get(){
返回实例;
}
}
然后在application init方法中执行以下操作:
public MyApplication extends AuthenticatedWebApplication {
@Override
protected void init() {
super.init();
getJavaScriptLibrarySettings().setJQueryReference(JQueryResourceReference.get());
....
}
....
}