Uploaded image for project: 'MyFaces Tomahawk'
  1. MyFaces Tomahawk
  2. TOMAHAWK-1036

ReferenceSyntaxException with JSCookMenu

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Duplicate
    • 1.1.5
    • None
    • JS Cook Menu
    • None

    Description

      When using jscookmenu defined as follows

      <input type="hidden" name="jscook_action" />
      <t:jscookMenu layout="hbr" theme="ThemeOffice">
      <t:navigationMenuItem actionListener="#

      {eventSelectionHandler.newEvent}

      " action="enterNewEvent" itemLabel="New Event" />
      <t:navigationMenuItem actionListener="#

      {eventSearchHandler.start}" action="searchEvents" itemLabel="Search" />
      <t:navigationMenuItem rendered="#{securityHandler.userAdministrator}" itemLabel="Admin">
      <t:navigationMenuItem action="adminCompanyProfile" style="padding-left:128px;" itemLabel="Manage company profile" />
      <t:navigationMenuItem actionListener="#{utilBean.createEmptyCompany}" action="createCompany" itemLabel="Create company" />
      <t:navigationMenuItem action="publishXML" itemLabel="Publish xml" />
      <t:navigationMenuItem action="storeXML" itemLabel="Store xml" />
      <t:navigationMenuItem action="publishAndStoreXML" itemLabel="Publish and store xml" />
      </t:navigationMenuItem></t:jscookMenu>

      the following exception is thrown when clicking on an item having an actionListener defined (note the semicolon following the expressiOn)

      javax.faces.el.ReferenceSyntaxException: #{eventSearchHandler.start}

      ;
      at com.sun.faces.application.ApplicationImpl.createMethodBinding(ApplicationImpl.java:464)
      at org.apache.myfaces.custom.navmenu.jscookmenu.HtmlJSCookMenuRenderer.decode(HtmlJSCookMenuRenderer.java:114)
      at javax.faces.component.UIComponentBase.decode(UIComponentBase.java:774)
      at javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:994)
      at javax.faces.component.UIForm.processDecodes(UIForm.java:203)
      at javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:989)
      at javax.faces.component.UIViewRoot.processDecodes(UIViewRoot.java:494)
      at com.sun.faces.lifecycle.ApplyRequestValuesPhase.execute(ApplyRequestValuesPhase.java:101)
      at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:248)
      at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:117)
      at javax.faces.webapp.FacesServlet.service(FacesServlet.java:244)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
      at org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:147)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
      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.SecurityAssociationValve.invoke(SecurityAssociationValve.java:175)
      at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:524)
      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.jboss.web.tomcat.tc5.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:156)
      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:869)
      at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
      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)

      Patch for org/apache/myfaces/custom/navmenu/jscookmenu/HtmlJSCookMenuRenderer.java rev 472638:

      107c107,108
      < if (idx > 0 && idx < action.length() - 1) {

      >
      > if (idx > 0 && idx < action.length()) {
      111a113
      >

      Attachments

        Issue Links

          Activity

            People

              lu4242 Leonardo Uribe
              claesh1 Claes H
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: