selectOneListBox とボタンがあります
<p:selectOneListbox id="somelistBox" value="#{bean.selectedItem}" styleClass="listBox">
<f:selectItems value="#{bean.list}" var="item" itemValue="#{item}" itemLabel="#{preparer.prepare(item)}"/>
</p:selectOneListbox>
<p:commandButton id="somebutton" process="@(.listBox)" update="@(.listBox)"/>
そして豆
@Component
public void class Bean
{
private List<Item> list;
private Item selectedItem;
public List<Item> getList()
{
return list;
}
public void getSelectedItem()
{
return selectedItem;
}
public void setSelectedItem(Item selectedItem)
{
this.selectedItem = selectedItem;
}
}
ただし、ボタンを押すと、ajax投稿中にselectOneListBoxで検証が失敗します。私が読んだことから、これは、バインドされたオブジェクトを間違ったタイプのオブジェクトで Bean に設定しようとすると発生する可能性がありますが、私の selectOneListBox には「アイテム」のリストが含まれており、値は「アイテム」でもある selectedItem です。そのため、どこが間違っているのかわかりません。