0 Replies Latest reply on Jun 13, 2011 4:22 PM by Scott Jones

    IllegalArgumentException when using h:commandLink with rich:tabPanel

    Scott Jones Newbie

      I am using Facelets, JSF 2.0, & RichFaces 4.0.0.

       

      I have an h:commandLink in the same form as a rich:tabPanel.  Whenever I click on the link generated by the commandLink I get the IllegalArugmentException below. 

       

      Caused by: java.lang.IllegalArgumentException at org.richfaces.component.AbstractTogglePanel.getChildName(AbstractTogglePanel.java:502) at org.richfaces.component.AbstractTogglePanel.isActiveItem(AbstractTogglePanel.java:493) at org.richfaces.component.AbstractTogglePanel.processDecodes(AbstractTogglePanel.java:213) at javax.faces.component.UIForm.processDecodes(UIForm.java:103) at javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:1170) at javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:1170) at javax.faces.component.UIViewRoot._processDecodesDefault(UIViewRoot.java:1315) at javax.faces.component.UIViewRoot.access$400(UIViewRoot.java:75) at javax.faces.component.UIViewRoot$ApplyRequestValuesPhaseProcessor.process(UIViewRoot.java:1378) at javax.faces.component.UIViewRoot._process(UIViewRoot.java:1281) at javax.faces.component.UIViewRoot.processDecodes(UIViewRoot.java:717) at org.apache.myfaces.lifecycle.ApplyRequestValuesExecutor.execute(ApplyRequestValuesExecutor.java:34) at org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:171) ... 25 more

       

      Here's the code:

       

      <ui:define name="body">
        <h:form id="form">
          <h:commandLink action="#{executeReportBean.load}" rendered="true" value="Execute Report"/>
          <rich:tabPanel switchType="client">
            <rich:tab name="1" label="test"/>
          </rich:tabPanel>
        </h:form>
      </ui:define>    
      

       

      If I remove the rich:tabPanel I am able to click the link and it takes me to page no problem.

       

      The "executeReportBean" is as folllows:

       

      @ManagedBean
      @SessionScoped
      public class ExecuteReportBean implements Serializable{
          //blah, blah...
      
          public String load() {
              //blah, blah...
      
              return "executeReport.jsf";
          }
      
          //blah, blah...
      }