I think I may have solved my problem. I used Javascript and a hidden
button to submit the entire tabbedPane whenever a link inside a panel
is clicked.
The javascript:
function submitPanel()
{
var button = document.getElementById( 'hiddenButton' );
button.click();
}
The panelTabbedPane:
<t:panelTabbedPane
binding="#{controller.tabbedPane}"
serverSideTabSwitch="true"
width="600"
styleClass="tabbedPanel">
<t:panelTab id="tab_1" label="Panel 1" >
<h:panelGroup
binding="#{controller.applicant.contact.contactPanel}"/>
</t:panelTab>
<%-- Button is hidden --%>
<t:commandButton style="visibility: hidden" forceId="true"
id="hiddenButton" onclick="submit();" />
<t:tabChangeListener type="com.gofastcash.main.Controller"/>
</t:panelTabbedPane>
And the code that makes the link, taken from contactPanel:
HtmlCommandLink saveChanges = new HtmlCommandLink();
saveChanges.setAction(saveAction);
saveChanges.setActionListener(saveListener);
saveChanges.setId( saveID );
saveChanges.setOnclick( "submitPanel();" ); // javascript form submission
saveChanges.setTitle( (String)bundle.get( "tip_save" ) );
saveChanges.setImmediate(false);
lowerRight.getChildren().add(saveChanges);
I hope that this helps someone and most importantly I hope it's not
afu. If it is afu or if there's a better way of doing it please speak
up.