我有两个类:ItemPanel.java
和Declaration.java.
每次创建项目面板时,我都希望javascript附加到Declaration.html的头部而不是ItemPanel.html。
在我的ItemPanel.java上,我应该有这样的东西:
add(new AbstractBehavior() {
@Override public void renderHead(IHeaderResponse response) {
super.renderHead(response);
String js = "alert(\"hello\");"
response.renderOnDomReadyJavascript(js, Declaration.java);
}
});
所以我的问题是:如果我有很多类和html页面,并且我在没有标题的页面上添加了javascript,那么wicket如何对待这个?它是否从其他相关类中找到标题?我不确定,我已经尝试过了,当我实例化一个没有带头标记的相应html页面的对象时,它似乎没有附加。
答案 0 :(得分:1)
一开始你的问题有点令人困惑,因为你要求将JS从一个页面添加到另一个页面,但在你的问题中,ItemPanel
似乎是Panel
和{{1}是Declaration
。
因此,如果它是这样的,并且您在Panel中呈现了一些JavaScript,就像您已经显示的那样,它将在Page
页面的<head></head>
部分中呈现。即使html中的Declaration
没有Page
部分,Wicket也会生成一个空的<head></head>
部分。因此,如果您在<head></head>
中呈现一些JavaScript,它将在包含Panel
的{{1}}部分中呈现。