Używanie zarządzanej właściwości z CommandButton w Java Server Faces

Oprócz mojego pytania„Tworzenie strony„ Edytuj mój przedmiot ”w twarzach serwera Java z fasetkami” Chciałbym ukryć problem, który to zapewnił.

Po naciśnięciu przycisku commandButton identyfikator = 100 jest usuwany, a strona jest odświeżanaPrzed uruchamia nawet metodę, tak, oznacza to, że nie mam identyfikatora, gdy naciskam przycisk.

Jak to rozwiązać?

Posiadanie tej zarządzanej fasoli

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
  }
}

I dodawanie

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

Do mojej strony. Teraz mam również poprawne informacje w moim faces-config.xml i kiedy uzyskuję dostęp do mojej strony używając? ID = 100, otrzymuję poprawny przedmiot zwrócony.

questionAnswers(3)

yourAnswerToTheQuestion