4

JBoss 5.1.0 で実行する最初の JSF/IceFaces (バージョン 1.8.2) アプリケーションに問題があります。

しばらくすると、例外が発生し、セッションの問題について通知されます。コードでセッションをまったく使用していないため、これは奇妙です。次のログは、このエラーが原因で (JBoss から) バッキング Bean をインスタンス化できないことを示しています。

com.sun.faces.mgbean.ManagedBeanCreationException: クラスをインスタンス化できません: bean.Abgrenzungsreise.
    com.sun.faces.mgbean.BeanBuilder.newBeanInstance (BeanBuilder.java:191) で
    com.sun.faces.mgbean.BeanBuilder.build(BeanBuilder.java:106) で
    com.sun.faces.mgbean.BeanManager.createAndPush (BeanManager.java:368) で
    com.sun.faces.mgbean.BeanManager.create(BeanManager.java:222) で
    com.sun.faces.el.ManagedBeanELResolver.getValue (ManagedBeanELResolver.java:86) で
    javax.el.CompositeELResolver.getValue (CompositeELResolver.java:54) で
    com.sun.faces.el.FacesCompositeELResolver.getValue (FacesCompositeELResolver.java:72) で
    org.apache.el.parser.AstIdentifier.getValue (AstIdentifier.java:61) で
    org.apache.el.parser.AstValue.getValue (AstValue.java:107) で
    org.apache.el.ValueExpressionImpl.getValue (ValueExpressionImpl.java:186) で
    javax.faces.component.UISelectItems.getValue(UISelectItems.java:141) で
    com.icesoft.faces.renderkit.dom_html_basic.MenuRenderer.getSelectItems(MenuRenderer.java:637) で
    com.icesoft.faces.renderkit.dom_html_basic.MenuRenderer.countSelectOptionsRecursive (MenuRenderer.java:448) で
    com.icesoft.faces.renderkit.dom_html_basic.MenuRenderer.renderSelect (MenuRenderer.java:377) で
    com.icesoft.faces.renderkit.dom_html_basic.MenuRenderer.encodeEnd(MenuRenderer.java:119) で
    com.icesoft.faces.component.ext.renderkit.MenuRenderer.encodeEnd(MenuRenderer.java:51) で
    javax.faces.component.UIComponentBase.encodeEnd (UIComponentBase.java:861) で
    com.icesoft.faces.renderkit.dom_html_basic.DomBasicRenderer.encodeParentAndChildren (DomBasicRenderer.java:370) で
    com.icesoft.faces.renderkit.dom_html_basic.GridRenderer.encodeChildren (GridRenderer.java:208) で
    javax.faces.component.UIComponentBase.encodeChildren (UIComponentBase.java:837) で
    com.icesoft.faces.renderkit.dom_html_basic.DomBasicRenderer.encodeParentAndChildren (DomBasicRenderer.java:358) で
    com.icesoft.faces.renderkit.dom_html_basic.GroupRenderer.encodeChildren (GroupRenderer.java:96) で
    javax.faces.component.UIComponentBase.encodeChildren (UIComponentBase.java:837) で
    com.icesoft.faces.component.util.CustomComponentUtils.renderChild (CustomComponentUtils.java:339) で
    com.icesoft.faces.component.paneltabset.PanelTabSetRenderer.writeTabCell (PanelTabSetRenderer.java:977) で
    com.icesoft.faces.component.paneltabset.PanelTabSetRenderer.encodeEnd (PanelTabSetRenderer.java:423) で
    javax.faces.component.UIComponentBase.encodeEnd (UIComponentBase.java:861) で
    com.icesoft.faces.application.D2DViewHandler.renderResponse (D2DViewHandler.java:503) で
    com.icesoft.faces.application.D2DViewHandler.renderResponse (D2DViewHandler.java:497) で
    com.icesoft.faces.application.D2DViewHandler.renderResponse (D2DViewHandler.java:497) で
    com.icesoft.faces.application.D2DViewHandler.renderResponse (D2DViewHandler.java:497) で
    com.icesoft.faces.application.D2DViewHandler.renderResponse (D2DViewHandler.java:497) で
    com.icesoft.faces.application.D2DViewHandler.renderResponse (D2DViewHandler.java:456) で
    com.icesoft.faces.application.D2DViewHandler.renderView(D2DViewHandler.java:159) で
    com.sun.faces.lifecycle.RenderResponsePhase.execute (RenderResponsePhase.java:110) で
    com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100) で
    com.sun.faces.lifecycle.LifecycleImpl.render (LifecycleImpl.java:139) で
    com.icesoft.faces.webapp.http.core.JsfLifecycleExecutor.apply(JsfLifecycleExecutor.java:19) で
    com.icesoft.faces.context.View$2$1.respond(View.java:48) で
    com.icesoft.faces.webapp.http.servlet.ServletRequestResponse.respondWith(ServletRequestResponse.java:201) で
    com.icesoft.faces.context.View$2.serve(View.java:77) で
    com.icesoft.faces.context.View.servePage (View.java:149) で
    com.icesoft.faces.webapp.http.core.SingleViewServer.service (SingleViewServer.java:52) で
    com.icesoft.faces.webapp.http.common.ServerProxy.service(ServerProxy.java:11) で
    com.icesoft.faces.webapp.http.servlet.MainSessionBoundServlet$4.service(MainSessionBoundServlet.java:149) で
    com.icesoft.faces.webapp.http.common.standard.PathDispatcherServer.service(PathDispatcherServer.java:24) で
    com.icesoft.faces.webapp.http.servlet.BasicAdaptingServlet.service(BasicAdaptingServlet.java:16)で
    com.icesoft.faces.webapp.http.servlet.PathDispatcher.service(PathDispatcher.java:23) で
    com.icesoft.faces.webapp.http.servlet.SessionDispatcher.service(SessionDispatcher.java:53)
    com.icesoft.faces.webapp.http.servlet.PathDispatcher.service(PathDispatcher.java:23) で
    com.icesoft.faces.webapp.http.servlet.MainServlet.service (MainServlet.java:131) で
    javax.servlet.http.HttpServlet.service(HttpServlet.java:717) で
    org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (ApplicationFilterChain.java:290) で
    org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) で
    org.apache.catalina.core.ApplicationDispatcher.invoke (ApplicationDispatcher.java:638) で
    org.apache.catalina.core.ApplicationDispatcher.processRequest (ApplicationDispatcher.java:444) で
    org.apache.catalina.core.ApplicationDispatcher.doForward (ApplicationDispatcher.java:382) で
    org.apache.catalina.core.ApplicationDispatcher.forward (ApplicationDispatcher.java:310) で
    org.apache.jasper.runtime.PageContextImpl.doForward(PageContextImpl.java:696) で
    org.apache.jasper.runtime.PageContextImpl.forward (PageContextImpl.java:667) で
    org.apache.jsp.index_jsp._jspService(index_jsp.java:58) で
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) で
    javax.servlet.http.HttpServlet.service(HttpServlet.java:717) で
    org.apache.jasper.servlet.JspServletWrapper.service (JspServletWrapper.java:369) で
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:322) で
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:249) で
    javax.servlet.http.HttpServlet.service(HttpServlet.java:717) で
    org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (ApplicationFilterChain.java:290) で
    org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) で
    org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96) で
    org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (ApplicationFilterChain.java:235) で
    org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) で
    org.apache.catalina.core.StandardWrapperValve.invoke (StandardWrapperValve.java:235) で
    org.apache.catalina.core.StandardContextValve.invoke (StandardContextValve.java:191) で
    org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:190) で
    org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:92) で
    org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.process(SecurityContextEstablishmentValve.java:126) で
    org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:70) で
    org.apache.catalina.core.StandardHostValve.invoke (StandardHostValve.java:127) で
    org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) で
    org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158) で
    org.apache.catalina.core.StandardEngineValve.invoke (StandardEngineValve.java:109) で
    org.apache.catalina.connector.CoyoteAdapter.service (CoyoteAdapter.java:330) で
    org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:829) で
    org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:598) で
    org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447) で
    java.lang.Thread.run(Thread.java:662) で
原因: com.icesoft.faces.webapp.http.core.SessionExpiredException: ユーザー セッションの有効期限が切れたか、無効になりました。
    com.icesoft.faces.webapp.http.servlet.ProxyHttpSession.getAttribute(ProxyHttpSession.java:77) で
    com.icesoft.faces.webapp.http.servlet.ServletSessionAttributeMap.getAttribute(ServletSessionAttributeMap.java:16)で
    com.icesoft.faces.context.AbstractAttributeMap.containsKey (AbstractAttributeMap.java:85) で
    com.sun.faces.mgbean.BeanManager.isBeanInScope(BeanManager.java:177) で
    com.sun.faces.el.ManagedBeanELResolver.getValue(ManagedBeanELResolver.java:82) で
    javax.el.CompositeELResolver.getValue (CompositeELResolver.java:54) で
    com.sun.faces.el.FacesCompositeELResolver.getValue (FacesCompositeELResolver.java:72) で
    bean.Abgrenzungsreise で。(Abgrenzungsreise.java:39)
    sun.reflect.NativeConstructorAccessorImpl.newInstance0(ネイティブメソッド)
    sun.reflect.NativeConstructorAccessorImpl.newInstance (NativeConstructorAccessorImpl.java:39) で
    sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) で
    java.lang.reflect.Constructor.newInstance (Constructor.java:513) で
    java.lang.Class.newInstance0 (Class.java:355) で
    java.lang.Class.newInstance (Class.java:308) で
    com.sun.faces.mgbean.BeanBuilder.newBeanInstance (BeanBuilder.java:186) で
    ... 86 以上
原因: java.lang.IllegalStateException: getAttribute: セッションはすでに無効になっています org.apache.catalina.session.StandardSession.getAttribute (StandardSession.java:1032) で org.apache.catalina.session.StandardSessionFacade.getAttribute (StandardSessionFacade.java:110) で com.icesoft.faces.webapp.http.servlet.ProxyHttpSession.getAttribute(ProxyHttpSession.java:75) で ... 100以上 2011-01-28 08:05:54,326 エラー [com.icesoft.faces.context.View] (http-0.0.0.0-8080-3) View.servePage 中に問題が発生しました com.sun.faces.mgbean.ManagedBeanCreationException: クラスをインスタンス化できません: bean.Abgrenzungsreise. com.sun.faces.mgbean.BeanBuilder.newBeanInstance (BeanBuilder.java:191) で com.sun.faces.mgbean.BeanBuilder.build(BeanBuilder.java:106) で com.sun.faces.mgbean.BeanManager.createAndPush (BeanManager.java:368) で com.sun.faces.mgbean.BeanManager.create(BeanManager.java:222) で com.sun.faces.el.ManagedBeanELResolver.getValue (ManagedBeanELResolver.java:86) で javax.el.CompositeELResolver.getValue (CompositeELResolver.java:54) で com.sun.faces.el.FacesCompositeELResolver.getValue (FacesCompositeELResolver.java:72) で org.apache.el.parser.AstIdentifier.getValue (AstIdentifier.java:61) で org.apache.el.parser.AstValue.getValue (AstValue.java:107) で org.apache.el.ValueExpressionImpl.getValue (ValueExpressionImpl.java:186) で javax.faces.component.UISelectItems.getValue(UISelectItems.java:141) で com.icesoft.faces.renderkit.dom_html_basic.MenuRenderer.getSelectItems(MenuRenderer.java:637) で com.icesoft.faces.renderkit.dom_html_basic.MenuRenderer.countSelectOptionsRecursive (MenuRenderer.java:448) で com.icesoft.faces.renderkit.dom_html_basic.MenuRenderer.renderSelect (MenuRenderer.java:377) で com.icesoft.faces.renderkit.dom_html_basic.MenuRenderer.encodeEnd(MenuRenderer.java:119) で com.icesoft.faces.component.ext.renderkit.MenuRenderer.encodeEnd(MenuRenderer.java:51) で javax.faces.component.UIComponentBase.encodeEnd (UIComponentBase.java:861) で com.icesoft.faces.renderkit.dom_html_basic.DomBasicRenderer.encodeParentAndChildren (DomBasicRenderer.java:370) で com.icesoft.faces.renderkit.dom_html_basic.GridRenderer.encodeChildren (GridRenderer.java:208) で javax.faces.component.UIComponentBase.encodeChildren (UIComponentBase.java:837) で com.icesoft.faces.renderkit.dom_html_basic.DomBasicRenderer.encodeParentAndChildren (DomBasicRenderer.java:358) で com.icesoft.faces.renderkit.dom_html_basic.GroupRenderer.encodeChildren (GroupRenderer.java:96) で javax.faces.component.UIComponentBase.encodeChildren (UIComponentBase.java:837) で com.icesoft.faces.component.util.CustomComponentUtils.renderChild (CustomComponentUtils.java:339) で com.icesoft.faces.component.paneltabset.PanelTabSetRenderer.writeTabCell (PanelTabSetRenderer.java:977) で com.icesoft.faces.component.paneltabset.PanelTabSetRenderer.encodeEnd (PanelTabSetRenderer.java:423) で javax.faces.component.UIComponentBase.encodeEnd (UIComponentBase.java:861) で com.icesoft.faces.application.D2DViewHandler.renderResponse (D2DViewHandler.java:503) で com.icesoft.faces.application.D2DViewHandler.renderResponse (D2DViewHandler.java:497) で com.icesoft.faces.application.D2DViewHandler.renderResponse (D2DViewHandler.java:497) で com.icesoft.faces.application.D2DViewHandler.renderResponse (D2DViewHandler.java:497) で com.icesoft.faces.application.D2DViewHandler.renderResponse (D2DViewHandler.java:497) で com.icesoft.faces.application.D2DViewHandler.renderResponse (D2DViewHandler.java:456) で com.icesoft.faces.application.D2DViewHandler.renderView(D2DViewHandler.java:159) で com.sun.faces.lifecycle.RenderResponsePhase.execute (RenderResponsePhase.java:110) で com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100) で com.sun.faces.lifecycle.LifecycleImpl.render (LifecycleImpl.java:139) で com.icesoft.faces.webapp.http.core.JsfLifecycleExecutor.apply(JsfLifecycleExecutor.java:19) で com.icesoft.faces.context.View$2$1.respond(View.java:48) で com.icesoft.faces.webapp.http.servlet.ServletRequestResponse.respondWith(ServletRequestResponse.java:201) で com.icesoft.faces.context.View$2.serve(View.java:77) で com.icesoft.faces.context.View.servePage (View.java:149) で com.icesoft.faces.webapp.http.core.SingleViewServer.service (SingleViewServer.java:52) で com.icesoft.faces.webapp.http.common.ServerProxy.service(ServerProxy.java:11) で com.icesoft.faces.webapp.http.servlet.MainSessionBoundServlet$4.service(MainSessionBoundServlet.java:149) で com.icesoft.faces.webapp.http.common.standard.PathDispatcherServer.service(PathDispatcherServer.java:24) で com.icesoft.faces.webapp.http.servlet.BasicAdaptingServlet.service(BasicAdaptingServlet.java:16)で com.icesoft.faces.webapp.http.servlet.PathDispatcher.service(PathDispatcher.java:23) で com.icesoft.faces.webapp.http.servlet.SessionDispatcher.service(SessionDispatcher.java:53) com.icesoft.faces.webapp.http.servlet.PathDispatcher.service(PathDispatcher.java:23) で com.icesoft.faces.webapp.http.servlet.MainServlet.service (MainServlet.java:131) で javax.servlet.http.HttpServlet.service(HttpServlet.java:717) で org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (ApplicationFilterChain.java:290) で org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) で org.apache.catalina.core.ApplicationDispatcher.invoke (ApplicationDispatcher.java:638) で org.apache.catalina.core.ApplicationDispatcher.processRequest (ApplicationDispatcher.java:444) で org.apache.catalina.core.ApplicationDispatcher.doForward (ApplicationDispatcher.java:382) で org.apache.catalina.core.ApplicationDispatcher.forward (ApplicationDispatcher.java:310) で org.apache.jasper.runtime.PageContextImpl.doForward(PageContextImpl.java:696) で org.apache.jasper.runtime.PageContextImpl.forward (PageContextImpl.java:667) で org.apache.jsp.index_jsp._jspService(index_jsp.java:58) で org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) で javax.servlet.http.HttpServlet.service(HttpServlet.java:717) で org.apache.jasper.servlet.JspServletWrapper.service (JspServletWrapper.java:369) で org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:322) で org.apache.jasper.servlet.JspServlet.service(JspServlet.java:249) で javax.servlet.http.HttpServlet.service(HttpServlet.java:717) で org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (ApplicationFilterChain.java:290) で org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) で org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96) で org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (ApplicationFilterChain.java:235) で org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) で org.apache.catalina.core.StandardWrapperValve.invoke (StandardWrapperValve.java:235) で org.apache.catalina.core.StandardContextValve.invoke (StandardContextValve.java:191) で org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:190) で org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:92) で org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.process(SecurityContextEstablishmentValve.java:126) で org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:70) で org.apache.catalina.core.StandardHostValve.invoke (StandardHostValve.java:127) で org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) で org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158) で org.apache.catalina.core.StandardEngineValve.invoke (StandardEngineValve.java:109) で org.apache.catalina.connector.CoyoteAdapter.service (CoyoteAdapter.java:330) で org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:829) で org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:598) で org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447) で java.lang.Thread.run(Thread.java:662) で 原因: com.icesoft.faces.webapp.http.core.SessionExpiredException: ユーザー セッションの有効期限が切れたか、無効になりました。 com.icesoft.faces.webapp.http.servlet.ProxyHttpSession.getAttribute(ProxyHttpSession.java:77) で com.icesoft.faces.webapp.http.servlet.ServletSessionAttributeMap.getAttribute(ServletSessionAttributeMap.java:16)で com.icesoft.faces.context.AbstractAttributeMap.containsKey (AbstractAttributeMap.java:85) で com.sun.faces.mgbean.BeanManager.isBeanInScope(BeanManager.java:177) で com.sun.faces.el.ManagedBeanELResolver.getValue(ManagedBeanELResolver.java:82) で javax.el.CompositeELResolver.getValue (CompositeELResolver.java:54) で com.sun.faces.el.FacesCompositeELResolver.getValue (FacesCompositeELResolver.java:72) で bean.Abgrenzungsreise で。(Abgrenzungsreise.java:39) sun.reflect.NativeConstructorAccessorImpl.newInstance0(ネイティブメソッド) sun.reflect.NativeConstructorAccessorImpl.newInstance (NativeConstructorAccessorImpl.java:39) で sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) で java.lang.reflect.Constructor.newInstance (Constructor.java:513) で java.lang.Class.newInstance0 (Class.java:355) で java.lang.Class.newInstance (Class.java:308) で com.sun.faces.mgbean.BeanBuilder.newBeanInstance (BeanBuilder.java:186) で ... 86 以上 原因: java.lang.IllegalStateException: getAttribute: セッションはすでに無効になっています org.apache.catalina.session.StandardSession.getAttribute (StandardSession.java:1032) で org.apache.catalina.session.StandardSessionFacade.getAttribute (StandardSessionFacade.java:110) で com.icesoft.faces.webapp.http.servlet.ProxyHttpSession.getAttribute(ProxyHttpSession.java:75) で ... 100以上

最後のユーザー アクティビティから 30 分後に例外がスローされることがわかりました。

4

2 に答える 2

2

同じ問題がIceFacesフォーラムで報告されています:

提案されたソリューションは次のとおりです。

非同期モードをオフにすると、これが発生していました

<!-- Specifies to the ICEfaces framework that synchronous update mode is to be
used. By default, ICEfaces uses asynchronous update mode to support
server-initiated updates (AJAX push). Setting to true will enable
synchronous update mode and disable AJAX push features. -->
<context-param>
    <param-name>com.icesoft.faces.synchronousUpdate</param-name>
    <param-value>true</param-value>
</context-param>  

これが誤りだったとき、私たちは素敵な小さなセッションがタイムアウトしたというメッセージを受け取りました。これが当てはまる場合、セッションタイムアウトの動作はスタックトレースでした。

その間に、私はICEfaces 1.8.2から現在svnリポジトリにあるもの(1.8.3+)に切り替えました。そして、動作が変更されました。もうクラッシュはありません。

どこにもセッションを使用していないというステートメントに関して、stacktraceは、この例外がスローされたときに、セッションスコープのマネージドBeanを作成しようとしていることを示しています。だからあなたは間違いなくセッションを使用しています:)


コメントに従って更新してください:あなたは確かに(リクエストベース!!)FacesContextstatic変数として割り当てるべきではありません。また、他のBeanの注入はで行う必要があり<managed-property>ますfaces-config.xml。それ以外の場合は、「注入」ではなく、他のBeanに手動でアクセスするだけです。インジェクションを使用すると、JSFに、他のBeanを現在のBeanのプロパティとして設定する作業を任せることになります。例はここにあります。

于 2011-01-28T12:05:51.427 に答える
1

例外の理由は、SessionBean クラスにありました。
その理由が、facesContext を介した別の Bean への Bean の注入である可能性があるかどうかを上で尋ねました。今、私は自分自身に答えます:「はい、それが理由かもしれません。」

public class MySessionBean {
    private static FacesContext facesContext = FacesContext.getCurrentInstance();
    private utils.AnotherSessionBean injectedSessionBean = (utils.AnotherSessionBean) facesContext.getApplication().getELResolver().getValue(facesContext.getELContext(), null, "anotherSessionBean");
    // ...
}

メソッドまたはコンストラクターの外で現在の FacesContext を自由にインスタンス化できましたが、これは良い考えではありませんでした。MySessionBean がリロードされたか、その新しいインスタンスが取得されましたが、FacesContext が更新されませんでした。その結果は上記のとおりです^^

結論: FacesContext の取得は、メソッドまたはコンストラクターのコードブロックに属します。

ご助力ありがとうございます!

于 2011-01-28T15:14:54.193 に答える