JSF 2.0: почему мое значение selectManyListbox недопустимо - PullRequest
0 голосов
/ 15 октября 2011

В моем ManagedBean у меня есть следующее свойство:

@ManagedBean
@RequestScoped
public class MrBean {
    ...
    private long[]  IDs;
    private List<Item> items;
    ...
}

В моем файле .xhtml у меня есть следующее поле выбора многие:

<h:selectManyListbox label="abc" 
    id="abc" size="5" value="#{MrBean.IDs}">
    <f:selectItems value="#{MrBean.items}" var="i" 
        itemLabel="#{i.name}" itemValue="#{i.id}" />
</h:selectManyListbox>
<h:message styleClass="errorMsg" for="abc" />

Идентификатор моих товаровдлинные числа.Следовательно, я ожидал, что получу список выбранных идентификаторов.Однако, когда я отправляю форму, abc: Validation Error: Value is not valid появляется в части сообщения для моего списка.

Может кто-нибудь сказать, что я здесь сделал неправильно?

С наилучшими пожеланиями, Джеймс Тран

1 Ответ

1 голос
/ 16 октября 2011

Вы получите эту ошибку проверки, когда выбранные элементы не соответствуют ни одному из доступных элементов во время обработки отправки формы.

Поскольку ваш бин находится в области запроса, вам нужно убедиться, что вы создали точно такой же List<Item> в конструкторе (пост) бина, какой он был при отображении формы. Если это невозможно, поскольку содержимое списка зависит от предыдущего действия, вам нужно поместить компонент в область просмотра.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...