Primefaces selectOneMenu Listener, der nicht mit anderen Objekten als Strings aufgerufen wird [duplizieren]

Diese Frage hat hier bereits eine Antwort:

Einstellungswert für Konvertierungsfehler für 'Null-Konverter' - Warum benötige ich einen Konverter in JSF? 2 Antworten

Ich implementiere eine Webanwendung mit Jsf 2.0 und Primefaces 3.2. Ich habe dieses unerwartete Verhalten bemerkt: Ich habe einselectOneMenu und eincommandButton, wie nachstehend

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

Was passiert ist das wennmyObj ist keinString, dasupdateSelectValues Methode wird nicht aufgerufen. Ich kann keine Ausnahme oder Fehler sehen, sie werden nur nicht aufgerufen. Hier ist die Hintergrundbohne:

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

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

Der Code für 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();
  }

}

Antworten auf die Frage(1)

Ihre Antwort auf die Frage