Мы переносим проект JSF 1.1 (MyFaces) в JSF 2. Идея состоит в том, чтобы периодически переносить, сохраняя как JSP, так и XHTML в течение некоторого времени. Мы используем много тегов ajax4jsf-1.1.1 на страницах JSP. Мы не используем RichFaces. После настройки системы в JSF 2 (со всеми изменениями конфигурации, указанных в руководстве по Balusc) При попытке доступа к странице JSP с ajax4jsf.jar в пути к классам, мы получаем исключение:Перенос JSF 1.1 с Ajax4jsf 1.x на JSF 2
Caused by: java.lang.IllegalStateException: setViewHandler may not be executed after a lifecycle request has been completed
at org.apache.myfaces.application.ApplicationImpl.setViewHandler(ApplicationImpl.java:853)
at org.ajax4jsf.framework.ajax.InitPhaseListener.beforePhase(InitPhaseListener.java:92)
at org.apache.myfaces.lifecycle.PhaseListenerManager.informPhaseListenersBefore(PhaseListenerManager.java:76)
at org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:131)
Он выглядит ajax4jsf.jar является несовместим с JSF 2. Вызывает некоторые проблемы с конфигурацией LifeCycle.
Есть ли способ сделать работу a4j с JSF 2 JSP? Я знаю, когда мы используем XHTML, нам это не нужно.
Вы пробовали использовать RichFaces 4 вместо Ajax4jsf? –
Да, попробовали быстро. Но проблемы с навигацией и обработкой действий с JSP. Не заглядывал глубоко в это, так как мы планировали использовать в будущем перформансы и не хотим прибегать к Richfaces на данный момент. –
Чтобы сообщить об этом, RichFaces впитал проект ajax4jsf. Я не понимаю, почему бы не приключиться * в RichFaces. –