关于Glassfish 3.1.2.2的JSF 2.1.7 / 2.1.17:未解析的托管bean

时间:2013-03-08 04:32:09

标签: jsf glassfish managed-bean mojarra

我的JSF应用程序适用于JBoss 7.1.1。 我尝试使用Glassfish 3.1.2.2(最新版本),无法识别所有托管bean。 两种情况都使用相同版本的Mojarra 2.1.7。

[#|2013-03-07T17:33:36.734-0500|SEVERE|glassfish3.1.2|javax.enterprise.system.std.com.sun.enterprise.server.logging|_ThreadID=18;_ThreadName=Thread-2;|javax.el.PropertyNotFoundException: /view.xhtml @13,75 listener="#{viewBean.preRenderView}": Target Unreachable, identifier 'viewBean' resolved to null
       at com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:107)
       at com.sun.faces.facelets.tag.jsf.core.DeclarativeSystemEventListener.processEvent(EventHandler.java:128)
       at javax.faces.component.UIComponent$ComponentSystemEventListenerAdapter.processEvent(UIComponent.java:2486)
       at javax.faces.event.SystemEvent.processListener(SystemEvent.java:106)
       at com.sun.faces.application.ApplicationImpl.processListeners(ApplicationImpl.java:2168)
       at com.sun.faces.application.ApplicationImpl.invokeComponentListenersFor(ApplicationImpl.java:2116)
       at com.sun.faces.application.ApplicationImpl.publishEvent(ApplicationImpl.java:288)
       at com.sun.faces.application.ApplicationImpl.publishEvent(ApplicationImpl.java:246)
       at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:108)
       at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
       at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
       at javax.faces.webapp.FacesServlet.service(FacesServlet.java:594)

Facelet页面:

<f:view locale="#{viewBean.locale}"> 
<f:event type="preRenderView" listener="#{viewBean.preRenderView}" />
....
</f:view>

从调试开始,不会构建具有@ManagedBean批注的所有托管bean。因此,所有托管bean都被解析为null。

@ManagedBean(name="viewBean")
@ViewScoped
public class ViewBean  {
....
}

适用于JBoss 7。

有人使用Grassfish 3和Mojarra 2.1.7吗?我用javax.faces.2.1.17替换了jsf impl,没有运气,同样的错误。

感谢您的帮助 戴夫

0 个答案:

没有答案