OmniFaces не может преобразовать значение.Зачем? - PullRequest
0 голосов
/ 09 июня 2019

Я пытаюсь реализовать преобразователь OmniFaces omnifaces.SelectItemsIndexConverter в инструмент отслеживания ошибок, над которым я работаю.

Невозможно преобразовать объект для управляемого компонента при нажатии кнопки отправки формы

Запуск NetBeans 8.2, с JSF 2.2 Java EE 7, GlassFish 4.1.1.Использование OmniFaces 2.7.1

Ввод формы JSF:

<h:selectOneMenu id="priority" value = "#{createBugManagedBean.priority}" converter="omnifaces.SelectItemsIndexConverter">
    <f:selectItems value="#{createBugManagedBean.priorities}" var="priorities" itemValue="#{priorities}" itemLabel="#{priorities.name}"/>
</h:selectOneMenu>

Управляемые объекты EJB:

private BugPrioritiesDTO priority;
private ArrayList<BugPrioritiesDTO> priorities;

Класс BugPrioritiesDTO:

public class BugPrioritiesDTO implements Serializable {

    Integer id;
    String name;

    public BugPrioritiesDTO(Integer id, String name) {
        this.id = id;
        this.name = name;
    }

    public Integer getId() {
        return id;
    }

    public String getName() {
        return name;
    }
}

Thisэто то, что выплевывает на веб-страницу при нажатии кнопки отправки формы.

Could not convert value '0' for component j_idt18:priority.
Could not convert value '0' for component j_idt18:severity.

Не уверен, что это означает под значением '0'.Буквально пытается преобразовать целое значение 0 в объект или 0 обозначает индекс объекта, который я пытаюсь преобразовать?

0 - это первичный ключ, представляющий значение приоритета «Самый низкий».Если я изменяю приоритет на «Низкий», он говорит, что не может преобразовать значение «1», «Средний» равен «2» ... и т. Д.

...