Jsf 2.0 및 Primefaces 3.2를 사용하여 webapp를 구현 중입니다. 나는이 예상치 못한 behavoiur를 발견했습니다 : 나는 selectOneMenu
과 commandButton
을 가지고Primefaces selectOneMenu 리스너가 String이 아닌 다른 객체와 함께 호출되지 않음
<p:selectOneMenu id="selsel" value="#{bean.myObj}">
<f:selectItems value="#{bean.myObjList}" />
</p:selectOneMenu>
<p:commandButton id="btnid" value="Ok" actionListener="#{bean.updateSelectValues()}" />
아래로 무엇 발생하는 myObj
가 아닌 경우 String
가의 updateSelectValues
메서드가 호출되지 않는 것입니다. 어떤 예외 나 오류도 전혀 볼 수 없으며 단지 호출되지 않았습니다. myObj로에 대한
private List<MyObj> myObjList;
private MyObj myObj;
// getters and setters
public void updateSelectValues() {
System.out.println(this.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();
}
}