java.lang.UnsupportedOperationException at javax.faces.context.FacesContext.isReleased (FacesContext.java:609) - PullRequest
3 голосов
/ 30 мая 2011

Я интегрирую SWF 2.2.1, Primefaces 2.2.1, JSF 2, Spring Security 3, Spring 3.1.0M1.Я могу открыть свою первую страницу, упомянутую в Spring web-flow xml, но получаю следующую ошибку.

com.sun.faces.application.view.FaceletViewHandlingStrategy handleRenderException
SEVERE: Error Rendering View[/WEB-INF/flows/AccSrch/searchAccIns.xhtml]
java.lang.UnsupportedOperationException
at javax.faces.context.FacesContext.isReleased(FacesContext.java:609)
at com.sun.faces.context.PartialViewContextImpl.updateFacesContext(PartialViewContextImpl.java:468)
at com.sun.faces.context.PartialViewContextImpl.isAjaxRequest(PartialViewContextImpl.java:108)
at javax.faces.context.PartialViewContextWrapper.isAjaxRequest(PartialViewContextWrapper.java:117)
at javax.faces.component.UIViewRoot.getRendersChildren(UIViewRoot.java:1020)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1755)
at com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:401)
at com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:131)
at org.springframework.faces.webflow.FlowViewHandler.renderView(FlowViewHandler.java:99)
at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:121)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
at org.springframework.faces.webflow.FlowLifecycle.render(FlowLifecycle.java:80)
at org.springframework.faces.webflow.JsfView.render(JsfView.java:90)

И, к моему удивлению, в моем файле .xhtml

<ui:composition xmlns="http://www.w3.org/1999/xhtml"
   xmlns:ui="http://java.sun.com/jsf/facelets"
   xmlns:h="http://java.sun.com/jsf/html"
   xmlns:f="http://java.sun.com/jsf/core"
   xmlns:p="http://primefaces.prime.com.tr/ui">
   <ui:define name="content">
      <f:view>
         <h:form id="expire" prependId="false">
            <h:outputText value="HEllo" />
         </h:form>
      </f:view>
   </ui:define>
</ui:composition>
* только минимальный код1006 * Пожалуйста, смотрите этот пост также для контекста ссылка

Ответы [ 2 ]

6 голосов
/ 30 мая 2011

Некоторые факты:

  • Согласно появлению определенных классов Tomcat в трассировке стека в ваш другой вопрос вы используете Tomcat.
  • Согласнопоявление JSF 2.1 представило метод FacesContext#isReleased() в трассировке стека в вашем текущем вопросе, вы используете JSF 2.1.
  • Согласно ответ в вашемдругой вопрос, вы, вероятно, используете Mojarra 2.1.0.
  • Mojarra 2.1.0 не работает в Tomcat / Jetty из-за большой ошибки случайного введенияСпециальный код Glassfish в реализации сканирования аннотаций для контейнеров, который не поставляется со встроенными сканерами аннотаций.

Итак, для решения этой проблемы есть несколько вариантов:

  • Снизить доМоджарра 2.0.5.
  • Обновление до Моджарры 2.1.1.
  • Замена Tomcat на Glassfish 3, JBoss AS 6 или что-то еще.
2 голосов
/ 30 мая 2011

Вы используете Tomcat?Если это так, верните обратно версию JSF с 2.1.0 до последней стабильной версии 2.0.x в соответствии с этим потоком.

...