JSF 1.1 (MyFaces) プロジェクトを JSF 2 に移行しています。JSP と XHTML の両方をしばらくの間維持することにより、定期的に移行するという考え方です。JSP ページでは ajax4jsf-1.1.1 タグを多数使用しています。RichFaces は使用しません。システムを JSF 2 に構成した後 (Balusc によるチュートリアルで言及されているすべての構成変更を含む) クラスパスに ajax4jsf.jar を使用して JSP ページにアクセスしようとすると、例外が発生します。
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 を使用する場合、これらすべてが必要ないことはわかっています。