|
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? |
- Tobago: ClassCastException rendering navigator Stefan Hedtfeld
- Re: Tobago: ClassCastException rendering navigator Bernd Bohmann
- Re: Tobago: ClassCastException rendering navigato... Bernd Bohmann
- Re: Tobago: ClassCastException rendering navi... Stefan Hedtfeld

