Я только что написал очень похожий вопрос, затем я заметил, что вы уже опубликовали его.
Я полагаю, что основная причина будет одинаковой в обоих наших случаях, даже если я использую библиотеку Тринидад, а не ADF. Lib Trinidad на самом деле был ответвлением от ADF, поэтому они делят довольно много кода.
В моем случае мы перешли с Тринидада 1.0.7 на Тринидад 1.0.10 (из-за этой проблемы).
Из-за этого обновите тег "commandButton" в наших jsp-файлах, определенных как
<tr:commandButton ... returnListener="bean.listenerMethod" ... useWindow="true" />
перестает вызывать bean.listenerMethod, когда закрывается диалог, в котором присутствует эта кнопка.
Установка useWindow = "false" вызывает повторный вызов bean.listenerMethod.
Перед обновлением упомянутая команда commandButton хорошо работала в обоих случаях (useWindow = "true" / "false").
Итак, как вы видите, симптомы очень похожи.
Теперь о выводах, которые я сделал при анализе этой проблемы.
Проверяя журналы, я заметил, что класс LifeCycleImpl не вызывает все фазы при возврате на главную страницу (после закрытия диалога).
Итак, 1) сообщение в диалоге было обработано, что означает, что все этапы были обработаны, и 2) впоследствии была вызвана главная страница, но на этот раз самая первая фаза «представление восстановления» была только что обработана, а затем перешла непосредственно к « фаза отображения ответа, вызывающая главную страницу без вызова bean.listenerMethod.
При проверке одних и тех же журналов на Тринидаде 1.0.7 все фазы, которые также вызывались на шаге 2).
Я отладил источники Тринидада 1.0.10 и отследил эту разницу, вызванную этой"ошибкой".
Проблема в том, что UIViewRoot удаляется из сессии. При последующем вызове закрытия в диалоговом окне фаза «восстановление представления» во время (описанного выше) шага 2) не может найти UIVIewRoot главной страницы.
Когда это происходит, LifeCycleImpl решает пропустить напрямую к «фазе рендеринга», так как, вероятно, ожидает, что из-за отсутствия UIViewRoot в сеансе это первый вызов страницы (представление), и поэтому он просто перезагружает главную страницу .
Я новичок в JSF, но для меня это выглядит как ошибка.
В моем случае на меня оказывается большое давление, чтобы как-то решить эту проблему, поэтому давайте посмотрим, что я смогу с этим сделать.