Conversation
| import java.util.Collection; | ||
|
|
||
| @Named("categories") | ||
| @SessionScoped |
There was a problem hiding this comment.
Насколько я зная возможность полностью отказаться от managed бинов появилась только в версии JSF 2.3. Но этот момент нужно уточнить. Речь идет о довольно новых вещах.
| @Inject | ||
| private CategoryRepository categoryRepository; | ||
|
|
||
| public String getId() { |
There was a problem hiding this comment.
На всякий случай хочу сказать, что есть еще один подход к построению managed бинов. Можно не создавать геттеры для всех полей сущности, а создать только один геттер для поля с текущей сущностью. Тогда можно будет обращаться к полям из представлений #{categories.category.id}
| public class Order { | ||
|
|
||
| private String id; | ||
| private Map<Product, Integer> orderMap; |
There was a problem hiding this comment.
А переопределен ли hashCode у продукта?
There was a problem hiding this comment.
Мапа хранит для заказа пары продукт - количество. Хеш-функцию забыл. Сделаю по id.
|
|
||
| private String id; | ||
|
|
||
| @NotNull |
There was a problem hiding this comment.
Валидация будет работать только в бинах, а этот файл бином не является. На следующем уроке мы преобразуем его в сущность и все заработатет. Пока же предлагаю использовать валидацию в xhtml. Компоненту inputText можно добавить свойство required. Кроме того есть еще семейство вот таких тегов для валидации https://www.tutorialspoint.com/jsf/jsf_validation_tags.htm
Предоставляет ли WildFly реализацию валидации?
Если поменять
@ManagedBeanна@Named(если я правильно понял, это и есть сделать CDI),то бины перестают работать, на форме пусто, ошибок нет.