2016-03-22 15 views
1

Ich habe meine String-Variable iWicket setVisible (true) zeigt, die nicht bis die Seite aktualisiert

final String wrongPw = "Wrong Password";

meine Ajax ja Schaltfläche angezeigt werden soll:

AjaxButton yesButton = new AjaxButton("yesButton", yesNoForm) { 
     private static final long serialVersionUID = -3827487963204274386L; 
     @Override 
     protected void onSubmit(AjaxRequestTarget target, Form form) { 
      if (target != null && password.equals(getPw())) { 
       answer.setAnswer(true); 
       modalWindow.close(target); 
      }else if(target != null && !password.equals(getPw())){ 
       answer.setAnswer(false); 
       wrongPW.setVisible(true); 
      } 
     } 
    }; 

und mein ADDs:

wrongPW.setVisible(false); add(wrongPW);

Wenn ich das ja treffe Schaltfläche Ich muss die Seite aktualisieren, damit die wrongPW angezeigt wird.

Wie kann dies dynamisch geschehen?

Antwort

5

Sie haben die Komponente, die Sie an das Ziel wie folgt aktualisieren möchte hinzufügen:

target.add(wrongPW); 

Seien Sie sicher, dass das Markup Platzhalter-Tag auf die Initialisierung der Komponente, die Sie dynamisch festlegen möchten, um die Sichtbarkeit zu ändern, sonst Wicket wird es nicht finden.

wrongPW.setOutputMarkupPlaceholderTag(true); 

Die Gründe dafür werden hier erklärt: https://stackoverflow.com/a/9671796/2795423

+0

ah Bingo, wurde ich mit nur 'setOutputMarkupId (true);' - Dank – xeon48

Verwandte Themen