Hi,

I built a navigation like the one in the tobago examples. But I get the following error:

19:53:21,601 INFO  [NavigationController] action = ''
19:53:21,608 ERROR [[jsp]] Servlet.service() for servlet jsp threw exception
java.lang.ClassCastException: org.apache.myfaces.tobago.component.UICommand
        at org.apache.myfaces.taglib.core.VerbatimTag.doAfterBody(VerbatimTag.java:76)
        at org.apache.jsp.fuelmaster.navigator_jsp._jspx_meth_f_verbatim_1(org.apache.jsp.fuelmaster.navigator_jsp:372)
        at org.apache.jsp.fuelmaster.navigator_jsp._jspService(org.apache.jsp.fuelmaster.navigator_jsp:136)
        at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
        at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:322)
        at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
        at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
        at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:672)
        at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:574)
        at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:499)
        at org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:966)
        at org.apache.jsp.tag.web.layout.fuelmaster_tag._jspx_meth_tc_cell_1(org.apache.jsp.tag.web.layout.fuelmaster_tag:335)
        at org.apache.jsp.tag.web.layout.fuelmaster_tag._jspx_meth_tc_page_0(org.apache.jsp.tag.web.layout.fuelmaster_tag:197)
        at org.apache.jsp.tag.web.layout.fuelmaster_tag._jspx_meth_f_view_0(org.apache.jsp.tag.web.layout.fuelmaster_tag:123)
        at org.apache.jsp.tag.web.layout.fuelmaster_tag.doTag(org.apache.jsp.tag.web.layout.fuelmaster_tag:78)
        at org.apache.jsp.intro_jsp._jspx_meth_layout_fuelmaster_0(org.apache.jsp.intro_jsp:84)
        at org.apache.jsp.intro_jsp._jspService(org.apache.jsp.intro_jsp:62)
        at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
        at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:322)
        at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
        at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
        at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:672)
        at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:463)
        at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:398)
        at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301)
        at org.apache.myfaces.context.servlet.ServletExternalContextImpl.dispatch(ServletExternalContextImpl.java:415)
        at org.apache.myfaces.application.jsp.JspViewHandlerImpl.renderView(JspViewHandlerImpl.java:234)
        at org.apache.myfaces.tobago.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:117)
        at org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:352)
        at javax.faces.webapp.FacesServlet.service(FacesServlet.java:107)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
        at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
        at org.jboss.web.tomcat.security.CustomPrincipalValve.invoke(CustomPrincipalValve.java:54)
        at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:174)
        at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:74)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:868)
        at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:663)
        at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
        at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
        at java.lang.Thread.run(Thread.java:595)

My navigator.jsp contains the following:

<%@ page import="javax.faces.context.FacesContext"%>
<%@ taglib uri="http://myfaces.apache.org/tobago/component" prefix="tc" %>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<f:subview id="navigator" >
  <tc:panel>
    <f:facet name="layout">
      <tc:gridLayout columns="10px;1*"
         rows="fixed;fixed;fixed;1*" />
    </f:facet>
    <%
      // FIXME: this hotfix ensures that, "navigationController" is available
      // for JSTL-Tags
      FacesContext facesContext = FacesContext.getCurrentInstance();
      facesContext.getApplication().getVariableResolver()
          .resolveVariable(facesContext, "navigationController");
    %>
        <%-- row 0 --%>
    <f:verbatim>
      <c:if test='${navigationController.currentPage == "intro"}'>
        <tc:image value="image/navigate-pointer.gif" width="16px" height="16px" />
      </c:if>
    </f:verbatim>
    <tc:link action="" immediate="true"
        actionListener="#{navigationController.navigate}" label="#{mainBundle.intro}" />
        <%-- row 1 --%>
    <f:verbatim>
      <c:if test='${navigationController.currentPage == "edit/editFuelling"}'>
        <tc:image value="image/navigate-pointer.gif" width="16px" height="16px" />
      </c:if>
    </f:verbatim>
    <tc:link action="" immediate="true"
        actionListener="#{navigationController.navigate}" label="#{mainBundle.intro}" />
        <%-- row (n - 1) --%>
    <tc:cell spanX="2">
      <f:verbatim>
        <hr width="80%"/>
      </f:verbatim>
    </tc:cell>
        <%-- row n --%>
    <tc:cell spanX="2"/>
  </tc:panel>
</f:subview>

I'm running on JBoss 4.0.4RC1 with the bundled tomcat on SuSE Linux 10, amd64.

The generated navigator_jsp.java class contains the following method:

  private boolean _jspx_meth_f_verbatim_1(javax.servlet.jsp.tagext.JspTag _jspx_th_tc_panel_0, PageContext _jspx_page_context)
          throws Throwable {
    PageContext pageContext = _jspx_page_context;
    JspWriter out = _jspx_page_context.getOut();
    //  f:verbatim
    org.apache.myfaces.taglib.core.VerbatimTag _jspx_th_f_verbatim_1 = (org.apache.myfaces.taglib.core.VerbatimTag) _jspx_tagPool_f_verbatim.get(org.apache.myfaces.taglib.core.VerbatimTag.class);
    _jspx_th_f_verbatim_1.setPageContext(_jspx_page_context);
    _jspx_th_f_verbatim_1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_tc_panel_0);
    int _jspx_eval_f_verbatim_1 = _jspx_th_f_verbatim_1.doStartTag();
    if (_jspx_eval_f_verbatim_1 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
      if (_jspx_eval_f_verbatim_1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
        out = _jspx_page_context.pushBody();
        _jspx_th_f_verbatim_1.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
        _jspx_th_f_verbatim_1.doInitBody();
      }
      do {
        out.write("\n");
        out.write("      ");
        if (_jspx_meth_c_if_1(_jspx_th_f_verbatim_1, _jspx_page_context))
          return true;
        out.write("\n");
        out.write("    ");
        int evalDoAfterBody = _jspx_th_f_verbatim_1.doAfterBody();
        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
          break;
      } while (true);
      if (_jspx_eval_f_verbatim_1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE)
        out = _jspx_page_context.popBody();
    }
    if (_jspx_th_f_verbatim_1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
      _jspx_tagPool_f_verbatim.reuse(_jspx_th_f_verbatim_1);
      return true;
    }
    _jspx_tagPool_f_verbatim.reuse(_jspx_th_f_verbatim_1);
    return false;
  }
line 372 beeing


int evalDoAfterBody = _jspx_th_f_verbatim_1.doAfterBody();
Is this a tobago issue, a myfaces issue or a "beginners" issue?

Regards,

Stefan.


Reply via email to