Как описано в этом вопросе, я пытаюсь выполнить некоторую проверку поля в форме на стороне bean. Для этого я хотел бы получить доступ к посторонним полям, чтобы отметить их. Из поиска в Интернете есть два способа сделать это:
- сохраните компоненты в резервной копии bean для доступа и используйте их на страницах JSF с помощью атрибута
binding
. - Используйте привязку стандартного значения на страницах JSF и при необходимости доступа к компоненту из bean, просмотрите его с помощью
UIViewRoot.findComponent(String id)
Насколько я вижу, оба способа имеют недостатки: Компонентные привязки взрывают подложку bean с помощью переменных и геттеров/сеттеров, некоторые сайты сильно препятствуют использованию связывания компонентов вообще. В любом случае, запрашивается область запроса. С другой стороны, findComponent() всегда пересекает дерево, которое может быть или не быть дорогостоящим, не так ли? (Кроме того, на данный момент я не могу найти свой компонент вообще, но это еще одна проблема)
Каким будет путь? Являются ли эти взаимозаменяемые альтернативы, а если нет, то на основании каких критериев вы выбрали? В настоящее время я просто недостаточно понимаю, чтобы принять достойное решение...