Вопрос

Я отладку зарубежного заявления JSF. Проблема в том, что я отправляю форму, но значения не переносятся.

С помощью фазового слушателя я вижу, что жизненный цикл не работает полностью, так сказать, что он пропускает фазу 2 -5: после того, как фаза представления восстановления напрямую называется фаза рендеринга. Я скучаю по применению ценностей, проверку, обновление моделей действий и так далее.

Итак, это может быть проблемой с куриным и яйцем: 1. Ответственные фазы не вызываются, поэтому новый ввод формы не может быть перенесен. 2. Система не распознает любой новый вход и, следовательно, непосредственно отображает после восстановления вида.

Я проверил, что нет вызова ответного вызова () ODER REANDERPERSPONSESPONSE ().

Я застрял как-то. Любая идея, чтобы подтвердить одну из двух гипотезы? Или как отладить это в целом? У кого-нибудь есть похожая проблема?


Обновлять

У меня есть подозрение, что JSF не знает о Запрос обратной связи и обрабатывает это как Первоначальный вид. Отказ Это объяснило бы, что я пропускаю только этап 1 и 6.

Как я могу проверить, если JSF признает это как неинтересный запрос?
Как я могу проверить, если есть подходящие дерево в токе facesContext.

Это было полезно?

Решение 2

Нашел решение! Извините, но это было очень конкретно приложению, я думаю: пользовательский Statemanager для JSF не был использован с JSF 1.2. Это вызвало эту странную ошибку. Получил статуногеру, и все работало нормально. Это горький и стоил много времени :-(

Спасибо за вашу помощь в любом случае :-)

Другие советы

Я цитирую от ответа, который я опубликовал до:

Всякий раз, когда Ан UICommand Компонент не включает связанное действие, проверьте следующее:

  1. UICommand Компоненты должны быть размещены внутри UIForm компонент (например, h:form).
  2. Вы не можете гнездо несколько UIForm Компоненты друг друга (следите за включенными файлами!).
  3. Ошибка проверки / преобразования не должно быть произошла (используйте h:messages чтобы получить их все).
  4. Если UICommand Компоненты размещаются внутри UIData компонент, убедитесь, что точно так же DataModel (объект за UIDataС. value атрибут) сохраняется.
  5. То rendered а также disabled атрибуты компонента и всех родительских компонентов не должны оценивать false Во время применения ценностей запроса фаза.
  6. Убедитесь, что нет PhaseListener или любого EventListener В цепочке запроса-ответного отклика изменили жизненный цикл JSF, чтобы пропустить фазу действий вызова.
  7. Убедитесь, что нет Filter или Servlet в том же запросе-ответной цепочке заблокировал запрос на FacesServlet как-то.

Поскольку в вашем конкретном случае этапы 2-5 были пропущены и что вы уверены (?) Что FacesContext#renderResponse() Не называются, причины 3, 6 и 7 могут быть поцарапаны из списка. Причины 4 и 5 могут также поцарапаться, в зависимости от того, как вы отлаживали фазы JSF. Расследовать другие причины. Мои центы на причину 2. Проверьте, не видите ли вы <form><form></form></form> В сгенерированном источнике HTML и отставке это в источнике JSF.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top