Метод конвертера getAsObject () getAsString () никогда не вызывается - PullRequest
0 голосов
/ 04 июля 2019

Преобразование не работает.Это код моего моего xhtml (пока мне нужно перечислить только все значения):

<p:selectCheckboxMenu id="autoriRicerca"
                        value="#{ricercaLibroBean.autoriRicerca}" 
                        converter="autoriConverter"
                        multiple="true" filter="true" filterMatchMode="startsWith"
                        panelStyle="width:250px">

Это мой конвертер:

@FacesConverter("autoriConverter")
public class AutoriCoverter implements Converter {
    @Inject
    private AutoriDAO userService;

    public Object getAsObject(FacesContext context, UIComponent component, String submittedValue) {

         if (submittedValue == null || submittedValue.isEmpty()) {
                return null;
            }

            try {
                return userService.getListaAutori();//return the lis about  authors
            } catch (NumberFormatException e) {
                throw new ConverterException(new FacesMessage(String.format("%s is not a valid User ID", submittedValue)), e);
            }

    }

    public String getAsString(FacesContext context, UIComponent component, Object object) {
        if (object == null) {
            return "";
        }
        if (object instanceof Autori) {
            Autori autore = (Autori) object;
            String nomeAutore = autore.getNomeAutore();
            return nomeAutore;
        } else {
            throw new ConverterException(new FacesMessage(object + " is not a valid car"));
        }
    } 
}

в моем бине:

private List<Autori> autoriRicerca; // and get and set method

класс Autori имеет (id,nameAuthor).

Я не знаю, в чем проблема.Кажется, что код не входит в метод конвертера.Я поставил несколько точек взлома, и они не выполняются при отладке.Кто-нибудь поможет мне?

...