Я попытался обновить приложение Java EE 7/JSF 2.2 до Omnifaces 2.6. В настоящее время я запускаю версию 2.4. После этого я заметил странное поведение при использовании @ConversationScoped
и Ajax-Requests. При вызове область, которая должна быть отображена после запроса, очищается (без исключения на сервере, код статуса ответа 200).@ConversationScoped bean ведет себя как @RequestScoped с OmniFaces 2.5 FacesViews
Далее у меня есть реализация мастера, основанная на @ConversationScoped
. Он содержит класс под названием ViewManager
, который имеет сам список представлений. Инициализация прекрасна, и этот список заполняется. Но как-то он очищается (устанавливается в null), когда первая форма/представление отправляется. Сетчатка для этого никогда не вызывается после инициализации, поэтому мой код не изменяется. Как-то экземпляр диспетчера представлений все еще доступен, только этот список представлений в диспетчере представлений имеет значение NULL, что довольно странно.
С omnifaces 2.4 все работает нормально (вот почему я не добавил код моего волшебника). Я проверил журнал изменений и заметил конфигурацию MultiViews
при использовании ExtensionlessURLs
. Не знаю, почему это может повлиять на мою проблему, но я попробовал ... без успеха. Я понятия не имею, что может быть проблемой, так что, возможно, вы можете мне помочь.
Заранее спасибо :)
Вы используете FacesViews? @ConversationScoped полагается на определенный параметр запроса. Теоретически возможно, что это каким-то образом потерялось. – BalusC
Я использую 'ExtensionlessURLs', вот и все, как я знаю. <Контекст-Param> org.omnifaces.FACES_VIEWS_SCAN_PATHS /*. XHTML PARAM-значение> контекстно-парам> –
J4y