Немного информации:
Мое видение разработки на ADF на данный момент следующее.
Можно разрабатывать приложения декларативно, перетаскивая какие-то элементы и создавать всю логику этими перетаскиваниями без строчки кода. Для этого нужно просто офигенно разбираться в технологии.
Можно наоборот, всю логику по максимому делать в бинах. Я сейчас нахожусь на этом уровне.
Смысл в следующем.
Создается бин, на странице jsf создается ссылка на этот бин вида beforePhase и afterPhase. Т.е. при обращении к этой странице будет выполняться логика из этих бинов при необходимости. Создаются также бины, в которых описывается логика по какому либо событию. Например нажание на кнопку, выбор элемента из списка и т.д.
Из бинов можно достучаться до всего, что есть в приложении. Например можно заставить обновиться элемент, получить доступ к bindings, viewobject, iterator, faces context и т.д., выполнить какие либо действия.
Например, можно создавать программно viewObject, добавлять конструкцию Where во viewObject, выполнять программно executeWithParams или попроще задачки вроде установить текст для элемента inputtext или установить значение для элемента selectonechoice.
Для успешной работы, нужно разобраться с жизненным циклом и научиться считывать в бин нужные объекты и манипулировать их свойствами.
Сейсас понадобилось разобраться с работой Popup’ов в бине. Как разберусь отпишу. При желании, можно мне помочь.
Если есть что добавить/исправить, пишите на адрес эл.почты. Нужно раскатать все основные элементы и получить все полезные соки из них. Например, есть элементы значения из которых можно очень легко получить во всех известных мне языках программирования, но здесь это либо не работает, либо работает но я не знаю как. (Коллеги весь вечер пятницы трахались с комбобоксом и много матерились. А на предыдущем проекте в другой компании в похожем компоненте, вообще сделали все через жопу.)
Ладно поехали!