この奇妙な問題で何日も失っています。すべてを再確認しましたが、selectOneMenuが機能せず、その理由がわかりません。
だからここに私のコードがあります:
私のjsf
<p:selectOneMenu id="entityType"
value="#{entityBean.entity.type}"
style="width:240px;"
converter="entityTypeConverter"
valueChangeListener="#{entityBean.entityTypeListener}"
required="true">
<f:selectItems value="#{entityBean.typeList}"
var="et"
itemLabel="#{et.name}"
itemValue="#{et}" />
</p:selectOneMenu>
私のコンバーター:
@FacesConverter("entityTypeConverter")
public class EntityTypeConverter implements Converter {
public Object getAsObject(FacesContext context, UIComponent component, String value) {
if (value == null || value.length() == 0) {
return null;
}
Long id = Long.parseLong(value);
return EntityType.findEntityType(id);
}
public String getAsString(FacesContext context, UIComponent component, Object value) {
return value instanceof EntityType ? ((EntityType) value).getId().toString() : "";
}
}
作成中は期待どおりに機能しますが (選択した値を渡します)、エンティティを編集しようとすると、選択したタイプが実際には選択されません。プライムフェイス 3.1.1 と 3.2 を試しましたが、表示/編集モードで選択した値を取得できません。
私は何を間違っていますか?
前もって感謝します!