我有一个 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 也是一个“项目”所以我看不出哪里出错了。