selectonemenu JSF на объекты с конвертером
Вот мой SelectOneMenu
И мой конвертер
@FacesConverter("myObjectConverter")
public class MyObjectConverter implements Converter{
private List objects;
public MyObjectConverter(){
this.objects = MyController.getAllMyObjects();
}
public Object getAsObject(FacesContext context, UIComponent component, String value) {
if(!StringUtils.isInteger(value)) {
return null;
}
return this.getMyObject(value);
}
public String getAsString(FacesContext context, UIComponent component, Object value) {
if(value == null) {
return null;
}
return String.valueOf(((MyObject) value).getId()).toString();
}
public MyObject getMyObject(String id) {
Iterator iterator = this.objects.iterator();
while(iterator.hasNext()) {
MyObject object = iterator.next();
if(object.getId() == Integer.valueOf(id).intValue()) {
return object;
}
}
return null;
}
}
Проблема в том, что мой слушатель ajax никогда не вызывается, а мой компонент никогда не отображается. Что-то не так с моим конвертером или выберите OneMenu? Я следую примеру и могуЯ не могу понять ошибку.
Кстати: мой простой метод в бобе
public void onSelect() {
System.out.println(this.myObject);
if(this.myObject != null) {
System.out.println(this.myObject.getName());
}
}
У меня уже была такая проблема, и я изменил выбранное значение с объекта на идентификатор. Но здесь я хочу заставить его работать с объектами, потому что я знаю этовозможно.
Спасибо