Путаница в конфигурации JSF2. Некоторые понятия, такие как валидатор, конвертер имеют идентификаторы. Они могут быть связаны с UIComponents, используя их ID. Другие понятия, такие как ValueChangeListener, ActionListener могут быть связаны с UIComponents с помощью имени класса. Есть ли причина для этих разных способов настройки вещей, или это просто несовместимо? Есть ли причина, по которой валидаторы, конвертеры, составные компоненты имеют идентификаторы, в то время как у слушателей нет идентификаторов? Я хотел бы прояснить ситуацию, потому что это может указывать на нюанс, который я не понимал.