wicket 6:页面加载后调用javascript函数

时间:2013-06-20 09:52:19

标签: javascript wicket

这看起来很简单,但是在页面加载后(在扩展WebPage的页面上)我找不到如何从wicket调用javascript函数的示例。谁能举例说明怎么做?

2 个答案:

答案 0 :(得分:18)

你可以让javascript为你做这件事

window.onload = function () {
// do stuff here
}

如果你需要在javascript函数中从wicket页面获取参数,你可以覆盖renderHead并在那里添加函数:

@Override
public void renderHead(IHeaderResponse response)
{
    super.renderHead(response);
    String bar = "something";
    response.render(JavaScriptHeaderItem.forScript("window.onload = function () {var foo='" + bar + "'}"));
    // or
    response.render(OnDomReadyHeaderItem.forScript("functionToCall(" + bar + ");") ;
}

答案 1 :(得分:10)

另一种方法是按如下方式创建AjaxEventBehavior并将其添加到您的页面。

AjaxEventBehavior event = new AjaxEventBehavior("onload") {
    @Override
    protected void onEvent(final AjaxRequestTarget target) {
        // do stuff here
        target.appendJavaScript("alert('onload');");
    }
}
add(event);