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