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... }