Eine Javascript-Funktion aufrufen von Wicket

Möchte ich weitergeben der Ausgabe eines Blocks von javascript-code in html der entsprechenden wicket-Komponente. Ich habe versucht, AbstractDefaultAjaxBehaviour und es scheint nicht zu funktionieren.

Hier ist, was ich arbeite mit:

HTML

//In <body>
<div wicket:id="container">
<script type="text/javascript" wicket:id="channelScript">

  function initChannel() {
    window.alert('got it');
  }

</script>
</div>

private WebMarkupContainer container = new WebMarkupContainer("container");
private Label channelScript = new Label("channelScript", "initChannel();");

add(container);
final AbstractDefaultAjaxBehavior channel = new AbstractDefaultAjaxBehavior() {
    protected void respond(final AjaxRequestTarget target) {
    channelScript.setEscapeModelStrings(false);
        target.add(channelScript); //initChannel is not triggerred
    }
};
container.add(channel);

Ich auch so probiert:

add(new AjaxEventBehavior("onload") {
  @Override
  protected void onEvent(AjaxRequestTarget target) {
    channelScript.setEscapeModelStrings(false);
    target.add(new Label(channelScript));
  }
}

Bitte was mache ich falsch? Dank

UPDATE

Ich vorbeikommen Reihe von Variablen, von wicket zu JS so dass jeder javascript-Ausgabe mit wicket-Komponente. Ich habe gerade festgestellt, dass ich haben, um nicht mit dem dom-bereit-Zustand zu Beginn der Interaktion. So, dass ist in Ordnung. Aber dann bin ich immer noch verwirrt und ratlos darüber, wie der wicket-Komponente ändern Ihren Status zu erhalten, aktualisiert, Antwort von javascript. Gibt es eine wicket-Komponente, löst sich asynchron?

InformationsquelleAutor drecute | 2012-02-12

Schreibe einen Kommentar