Verwenden von managed-property mit CommandButton in Java Server Faces

Neben meiner Frage"Erstellen einer" Edit my Item "-Seite in Java Server Faces mit Facelets" Ich würde lügen, um ein Problem zu behandeln, das dies bereitstellte.

Wenn ich die Befehlstaste drücke, wird die ID = 100 entfernt und die Seite aktualisiert, und das istVor es führt sogar die Methode aus, richtig, das bedeutet, dass ich die ID nicht habe, wenn ich den Knopf drücke.

Wie löst du das?

Mit dieser Managed Bean

public class BeanWithId implements Serializable {
  private String id;
  private String info;

  private void populateInfo() {
    info = "Some info from data source for id=" + id;
  }

  public String getId() { return id; }

  public void setId(String id) {
    this.id = id;
    populateInfo();
  }

  public String getInfo() { return info; }
  public void setInfo(String info) { this.info = info; }

  public String save() {
    System.out.println("Saving changes to persistence store");
    return null; // no navigation
  }
}

Und das Hinzufügen

<p><h:commandButton action="#{beanWithId.save}" value="Save" /></p>

Zu meiner Facelet-Seite. Jetzt habe ich auch die richtigen Informationen in meiner faces-config.xml und wenn ich mit? ID = 100 auf meine Seite zugreife, erhalte ich den richtigen Artikel zurück.

Antworten auf die Frage(3)

Ihre Antwort auf die Frage