有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java WicketTester在RenderOnDomainReadyJavaScript()之后检查面板内容

使用Apache Wicket 1.4:

我有一个面板,在renderHead()ajax回调中调用一些设置Javascript:

public SimplePanel(String id) {

    super(id);

    add(JavascriptPackageResource.getHeaderContribution(SimplePanel.class, "SimplePanel.js"));

    AbstractDefaultAjaxBehavior b = new AbstractDefaultAjaxBehavior() {
        private static final long serialVersionUID = 1L;

        @Override public void renderHead(IHeaderResponse response) {
            super.renderHead(response);
            response.renderOnDomReadyJavascript("init()");
        }

        @Override protected void respond(AjaxRequestTarget target) {

        }
    };

    add(b);
}

Javascript:

function init() {
    var div = document.getElementById("data");
    div.innerHTML = "XXXuniqueXXX";
}

我想用WicketTester测试一下:

Panel panel = tester.startPanel(new TestPanelSource() {
    public Panel getTestPanel(String panelId) {
        return new SimplePanel(panelId);
    }
});

tester.assertNoErrorMessage();
tester.assertContains("XXXuniqueXXX");

renderOnDomReadyJavascript("init()")方法被称为fine,但是init()本身似乎永远不会触发

我需要调用什么才能触发这个DomReady条件


共 (1) 个答案