myfaces-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Richard Yee" <richard.k....@gmail.com>
Subject Re: [Trinidad] NoClassDefFound error when using XMLMenuModel in Trinidad 1.2.9 and MyFaces 1.2.3 and Facelets 1.1.14
Date Wed, 03 Sep 2008 22:10:11 GMT
Andrew,
Thanks for your reply.
I have this in a file called mainHeader.xhtml

  <tr:panelPageHeader
inlineStyle="background-image:url('/webdoes/components/images/topnav_stripes.gif')">
    <f:facet name="branding"></f:facet>
    <f:facet name="navigationGlobal">
      <tr:navigationPane hint="buttons" var="menuItem"
                         value="#{menuModel_main.model}" level="0"
                         inlineStyle="padding:0em 0em 0.5em">
        <f:facet name="nodeStamp">
          <tr:commandNavigationItem text="#{menuItem.label}"
                                    accessKey="#{menuItem.accessKey}"
                                    action="#{menuItem.getOutcome}"
                                    onclick="#{menuItem.onClick}"
                                    rendered="#{menuItem.type == 'global'}"
                                    immediate="true"/>
        </f:facet>
      </tr:navigationPane>
    </f:facet>
    <f:facet name="navigation1">
      <tr:navigationPane hint="tabs" var="tabItem" value="#{tabMenu}" level="0">
        <f:facet name="nodeStamp">
          <tr:commandNavigationItem text="#{tabItem.label}"
                                    accessKey="#{tabItem.accessKey}"
                                    action="#{tabItem.doAction}"
                                    rendered="#{tabItem.rendered}"/>
        </f:facet>
      </tr:navigationPane>
    </f:facet>
    <f:facet name="navigation2">
      <tr:navigationPane hint="bar" var="buttonItem" value="#{tabMenu}"
                         level="1"
                         inlineStyle="text-align:
left;background-color: #efebde;">
        <f:facet name="nodeStamp">
          <tr:commandNavigationItem text="#{buttonItem.label}"
                                    accessKey="#{buttonItem.accessKey}"
                                    action="#{buttonItem.doAction}"
                                    disabled="#{buttonItem.disabled}"
                                    rendered="#{buttonItem.rendered}"
                                    inlineStyle="background-color: #efebde;"/>
        </f:facet>
      </tr:navigationPane>
    </f:facet>
  </tr:panelPageHeader>


This file is being included using <ui:include > inside another .xhtml
file. If I remove the ui:include, the page renders fine.

It seems that the problem occurs in this code:
      <tr:navigationPane hint="tabs" var="tabItem" value="#{tabMenu}" level="0">
        <f:facet name="nodeStamp">
          <tr:commandNavigationItem text="#{tabItem.label}"
                                    accessKey="#{tabItem.accessKey}"
                                    action="#{tabItem.doAction}"
                                    rendered="#{tabItem.rendered}"/>
        </f:facet>

The tabMenu is defined in faces-config.xml as:
  <managed-bean>
    <managed-bean-name>tabMenu</managed-bean-name>
    <managed-bean-class>org.apache.myfaces.trinidad.model.XMLMenuModel</managed-bean-class>
    <managed-bean-scope>request</managed-bean-scope>
    <managed-property>
      <property-name>source</property-name>
      <value>/WEB-INF/menus/tabMenus.xml</value>
    </managed-property>
  </managed-bean>

The tabMenus.xml file contains a menu tag with some itemNode tags as children.

<menu xmlns="http://myfaces.apache.org/trinidad/menu">
  <itemNode id="tab1" label="Enrollment" action="viewFamilyFromEnrollment"
    focusViewId="/app/view/viewFamilyFromEnrollment.xhtml" rendered="true">



Richard


On 9/3/08, Andrew Robinson <andrew.rw.robinson@gmail.com> wrote:
> Don't know the problem. but it seems something is wrong in your
> environment. The error is that you have an EL expression trying to
> resolve a JSP tag attribute inside of a facelets tag value. Are you
> somehow running both JSP and facelets at the same time?
>
> On Wed, Sep 3, 2008 at 3:09 PM, Richard Yee <richard.k.yee@gmail.com> wrote:
> > Hi,
> > I'm converting my MyFaces 1.0.5 and Trinidad 1.0.5 application to use
> > MyFaces 1.2.3, Trinidad 1.2.9, and Facelets 1.1.14
> >
> > I'm getting a NoClassDefFound error when my application  goes to a
> > page that has an XMLMenuModel.
> > The error displayed by Facelets is:
> > oracle.classloader.util.AnnotatedNoClassDefFoundError: Missing class:
> > javax.servlet.jsp.tagext.JspIdConsumer Dependent class:
> > javax.faces.webapp.UIComponentClassicTagBase Loader:
> > current-workspace-app.web.webdoes:0.0.0 Code-Source:
> > /D:/public/CommonLib/app/lib/3rdParty/Apache/myfaces/1.2.3/myfaces-api-1.2.3.jar
> > Configuration: <classpath> in
> > D:\UserData\sandbox\sprint3_webdoes_10133\webdoes\java\src\web The
> > missing class is not available from any code-source or loader in the
> > system.
> >
> > The stack trace is:
> > javax.el.ELException: /header/mainHeader.xhtml @38,69
> > rendered="#{tabItem.rendered}":
> > oracle.classloader.util.AnnotatedNoClassDefFoundError:
> >
> >          Missing class: javax.servlet.jsp.tagext.JspIdConsumer
> >
> >        Dependent class: javax.faces.webapp.UIComponentClassicTagBase
> >                 Loader: current-workspace-app.web.webdoes:0.0.0
> >            Code-Source:
> > /D:/public/CommonLib/app/lib/3rdParty/Apache/myfaces/1.2.3/myfaces-api-1.2.3.jar
> >          Configuration: <classpath> in
> > D:\UserData\sandbox\sprint3_webdoes_10133\webdoes\java\src\web
> >
> > The missing class is not available from any code-source or loader in the system.
> >        at com.sun.facelets.el.TagValueExpression.getValue(TagValueExpression.java:76)
> >        at org.apache.myfaces.trinidad.bean.FacesBeanImpl.getProperty(FacesBeanImpl.java:68)
> >        at org.apache.myfaces.trinidad.component.UIXComponentBase.getBooleanProperty(UIXComponentBase.java:1174)
> >        at org.apache.myfaces.trinidad.component.UIXComponentBase.isRendered(UIXComponentBase.java:414)
> >        at org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.NavigationPaneRenderer.renderContent(NavigationPaneRenderer.java:185)
> >        at org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.NavigationPaneRenderer.encodeAll(NavigationPaneRenderer.java:97)
> >        at org.apache.myfaces.trinidad.render.CoreRenderer.encodeEnd(CoreRenderer.java:224)
> >        at org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:763)
> >        at org.apache.myfaces.trinidad.component.UIXCollection.encodeEnd(UIXCollection.java:533)
> >        at org.apache.myfaces.trinidadinternal.uinode.UIComponentUINode._renderComponent(UIComponentUINode.java:337)
> >        at org.apache.myfaces.trinidadinternal.uinode.UIComponentUINode.render(UIComponentUINode.java:279)
> >        at org.apache.myfaces.trinidadinternal.uinode.UIComponentUINode.render(UIComponentUINode.java:257)
> >        at org.apache.myfaces.trinidadinternal.ui.BaseRenderer.renderChild(BaseRenderer.java:425)
> >        at org.apache.myfaces.trinidadinternal.ui.BaseRenderer.renderNamedChild(BaseRenderer.java:397)
> >        at org.apache.myfaces.trinidadinternal.ui.laf.base.desktop.PageHeaderLayoutRenderer._renderTabBar(PageHeaderLayoutRenderer.java:571)
> >        at org.apache.myfaces.trinidadinternal.ui.laf.base.desktop.PageHeaderLayoutRenderer.renderContent(PageHeaderLayoutRenderer.java:431)
> >        at org.apache.myfaces.trinidadinternal.ui.BaseRenderer.render(BaseRenderer.java:93)
> >        at org.apache.myfaces.trinidadinternal.ui.laf.base.xhtml.XhtmlLafRenderer.render(XhtmlLafRenderer.java:84)
> >        at org.apache.myfaces.trinidadinternal.uinode.UIXComponentUINode.renderInternal(UIXComponentUINode.java:192)
> >        at org.apache.myfaces.trinidadinternal.uinode.UINodeRendererBase.encodeEnd(UINodeRendererBase.java:70)
> >        at org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:763)
> >        at org.apache.myfaces.trinidad.render.RenderUtils.encodeRecursive(RenderUtils.java:70)
> >        at org.apache.myfaces.trinidad.render.CoreRenderer.encodeChild(CoreRenderer.java:299)
> >        at org.apache.myfaces.trinidad.render.CoreRenderer.encodeAllChildren(CoreRenderer.java:321)
> >        at org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.PanelPartialRootRenderer.renderContent(PanelPartialRootRenderer.java:65)
> >        at org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.BodyRenderer.renderContent(BodyRenderer.java:138)
> >        at org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.PanelPartialRootRenderer.encodeAll(PanelPartialRootRenderer.java:119)
> >        at org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.BodyRenderer.encodeAll(BodyRenderer.java:78)
> >        at org.apache.myfaces.trinidad.render.CoreRenderer.delegateRenderer(CoreRenderer.java:335)
> >        at org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.DocumentRenderer.encodeAll(DocumentRenderer.java:80)
> >        at org.apache.myfaces.trinidad.render.CoreRenderer.encodeEnd(CoreRenderer.java:224)
> >        at org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:763)
> >        at org.apache.myfaces.trinidad.component.UIXComponentBase.__encodeRecursive(UIXComponentBase.java:1351)
> >        at org.apache.myfaces.trinidad.component.UIXComponentBase.encodeAll(UIXComponentBase.java:783)
> >        at javax.faces.component.UIComponent.encodeAll(UIComponent.java:246)
> >        at com.sun.facelets.FaceletViewHandler.renderView(FaceletViewHandler.java:592)
> >        at javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:46)
> >        at org.apache.myfaces.trinidadinternal.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:188)
> >        at org.apache.myfaces.lifecycle.RenderResponseExecutor.execute(RenderResponseExecutor.java:41)
> >        at org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:140)
> >        at javax.faces.webapp.FacesServlet.service(FacesServlet.java:152)
> >        at com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:65)
> >        at mil.osd.dmdc.deers.web.webdoes.filter.LogFilter.doFilter(LogFilter.java:53)
> >        at com.evermind.server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:15)
> >        at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._invokeDoFilter(TrinidadFilterImpl.java:238)
> >        at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:195)
> >        at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:138)
> >        at org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92)
> >        at com.evermind.server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:17)
> >        at mil.osd.dmdc.deers.web.webdoes.filter.ConsentFilter.doFilter(ConsentFilter.java:95)
> >        at com.evermind.server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:17)
> >        at mil.osd.dmdc.deers.web.webdoes.filter.WebDoesFilter.doFilter(WebDoesFilter.java:59)
> >        at com.evermind.server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:17)
> >        at mil.osd.dmdc.deers.web.webdoes.filter.SessionFilter.doFilter(SessionFilter.java:137)
> >        at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:621)
> >        at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:370)
> >        at com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:871)
> >        at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:453)
> >        at com.evermind.server.http.HttpRequestHandler.serveOneRequest(HttpRequestHandler.java:221)
> >        at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:122)
> >        at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:111)
> >        at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)
> >        at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)
> >        at java.lang.Thread.run(Thread.java:595)
> > Caused by: oracle.classloader.util.AnnotatedNoClassDefFoundError:
> >
> >          Missing class: javax.servlet.jsp.tagext.JspIdConsumer
> >
> >        Dependent class: javax.faces.webapp.UIComponentClassicTagBase
> >                 Loader: current-workspace-app.web.webdoes:0.0.0
> >            Code-Source:
> > /D:/public/CommonLib/app/lib/3rdParty/Apache/myfaces/1.2.3/myfaces-api-1.2.3.jar
> >          Configuration: <classpath> in
> > D:\UserData\sandbox\sprint3_webdoes_10133\webdoes\java\src\web
> >
> > The missing class is not available from any code-source or loader in the system.
> >        at oracle.classloader.PolicyClassLoader.defineClass(PolicyClassLoader.java:2264)
> >        at oracle.classloader.PolicyClassLoader.findLocalClass(PolicyClassLoader.java:1462)
> >        at oracle.classloader.SearchPolicy$FindLocal.getClass(SearchPolicy.java:167)
> >        at oracle.classloader.SearchSequence.getClass(SearchSequence.java:119)
> >        at oracle.classloader.PolicyClassLoader.internalLoadClass(PolicyClassLoader.java:1674)
> >        at oracle.classloader.PolicyClassLoader.loadClass(PolicyClassLoader.java:1635)
> >        at oracle.classloader.PolicyClassLoader.loadClass(PolicyClassLoader.java:1620)
> >        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
> >        at java.lang.ClassLoader.defineClass1(Native Method)
> >        at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
> >        at oracle.classloader.PolicyClassLoader.defineClass(PolicyClassLoader.java:2241)
> >        at oracle.classloader.PolicyClassLoader.findLocalClass(PolicyClassLoader.java:1462)
> >        at oracle.classloader.SearchPolicy$FindLocal.getClass(SearchPolicy.java:167)
> >        at oracle.classloader.SearchSequence.getClass(SearchSequence.java:119)
> >        at oracle.classloader.PolicyClassLoader.internalLoadClass(PolicyClassLoader.java:1674)
> >        at oracle.classloader.PolicyClassLoader.loadClass(PolicyClassLoader.java:1635)
> >        at oracle.classloader.PolicyClassLoader.loadClass(PolicyClassLoader.java:1620)
> >        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
> >        at org.apache.myfaces.trinidadinternal.menu.MenuUtils.evalBoolean(MenuUtils.java:152)
> >        at org.apache.myfaces.trinidadinternal.menu.MenuNode.getRendered(MenuNode.java:131)
> >        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> >        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> >        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> >        at java.lang.reflect.Method.invoke(Method.java:585)
> >        at javax.el.BeanELResolver.getValue(BeanELResolver.java:292)
> >        at javax.el.CompositeELResolver.getValue(CompositeELResolver.java:143)
> >        at org.apache.myfaces.el.unified.resolver.FacesCompositeELResolver.access$301(FacesCompositeELResolver.java:46)
> >        at org.apache.myfaces.el.unified.resolver.FacesCompositeELResolver$4.invoke(FacesCompositeELResolver.java:108)
> >        at org.apache.myfaces.el.unified.resolver.FacesCompositeELResolver.invoke(FacesCompositeELResolver.java:148)
> >        at org.apache.myfaces.el.unified.resolver.FacesCompositeELResolver.getValue(FacesCompositeELResolver.java:104)
> >        at com.sun.el.parser.AstValue.getValue(Unknown Source)
> >        at com.sun.el.ValueExpressionImpl.getValue(Unknown Source)
> >        at com.sun.facelets.el.TagValueExpression.getValue(TagValueExpression.java:71)
> >        ... 63 more
> >
> >
> >
> > Has anyone seen this problem before? I was under the impression that I
> > could run Trinidad 1.2.9 and MyFaces 1.2.3 on a JSP 1.2 Container
> > (OC4J R3) with Facelets.
> >
> > Thanks,
> >
> > Richard
> >
>

Mime
View raw message