Primefaces wybiera obiekt nasłuchujący OneMenu nie wywołany z obiektami innymi niż ciągi [duplikat]

To pytanie ma już tutaj odpowiedź:

Błąd konwersji ustawienie wartości dla „konwertera zerowego” - Dlaczego potrzebuję konwertera w JSF? 2 odpowiedzi

Implementuję aplikację WWW przy użyciu Jsf 2.0 i Primefaces 3.2. Zauważyłem to nieoczekiwane zachowanie: mamselectOneMenu i acommandButton, jak poniżej

<p:selectOneMenu id="selsel" value="#{bean.myObj}">
  <f:selectItems value="#{bean.myObjList}" />
</p:selectOneMenu>
<p:commandButton id="btnid" value="Ok" actionListener="#{bean.updateSelectValues()}" />

Co się dzieje, jeślimyObj nie jestString, theupdateSelectValues metoda nie jest wywoływana. Nie widzę żadnego wyjątku ani błędu, po prostu się nie nazywa. Oto fasola bazowa:

private List<MyObj> myObjList;
private MyObj myObj;
// getters and setters

public void updateSelectValues() {
  System.out.println(this.myObj);
}

Kod myObj:

public class MyObj implements Serializable {

  private static final long serialVersionUID = 1L;

  private String param1;
  private int param2;

  @Override
  public String toString() {
    StringBuilder builder = new StringBuilder();
    builder.append("MyObj [param1=");
    builder.append(this.param1);
    builder.append(", param2=");
    builder.append(this.param2);
    builder.append("]");
    return builder.toString();
  }

}

questionAnswers(1)

yourAnswerToTheQuestion