要解决“Ajax在具有转换器的primefaces selectManyCheckbox上无法工作”的问题,可以尝试以下解决方案:
其中,yourConverter
是自定义的转换器,确保它正确实现了javax.faces.convert.Converter
接口。
javax.faces.Integer
或javax.faces.Double
:
SelectItem
对象代替转换器,将对象的属性值绑定到selectItems中:public class Item {
private int id;
private String name;
// getter and setter methods
}
@ManagedBean
public class Bean {
private List- selectedItems;
private List
- availableItems;
// getter and setter methods
public List
getAvailableItems() {
List items = new ArrayList<>();
for (Item item : availableItems) {
items.add(new SelectItem(item, item.getName()));
}
return items;
}
}
在这种情况下,不需要转换器,因为selectItems中的值已经是对象的实例。
通过尝试以上解决方案,您应该能够解决“Ajax在具有转换器的primefaces selectManyCheckbox上无法工作”的问题。