An ace:tabSet and an ace:fileEntry component cannot share the same form, because both components modify the containing form in their own ways. However, there's a way to have an ace:fileEntry component inside a server-side ace:tabSet tab pane and be able to switch to any tab seamlessly and have the ace:fileEntry work normally. This can be achieved by using an ace:tabSetProxy component.
An ace:tabSetProxy component is used in conjunction with a server-side ace:tabSet component that is not inside of a form. The ace:tabSetProxy component is placed inside a form instead of the ace:tabSet component to handle the server communication on its behalf. Then, the ace:fileEntry component can have its own, exclusive form inside the tab pane where it is contained and function normally without conflicting with the ace:tabSet functionality.
Here is a basic example:
<h:form id="tab-form">
<ace:tabSetProxy for=":myTabSet" />
</h:form>
<ace:tabSet id="myTabSet" clientSide="false">
<ace:tabPane id="pane1">
<f:facet name="label">My 1st Tab</f:facet>
<h:outputText value="First Tab Body" />
</ace:tabPane>
<ace:tabPane id="pane2">
<f:facet name="label">My 2nd Tab</f:facet>
<h:outputText value="Second Tab Body" />
</ace:tabPane>
<ace:tabPane id="pane3">
<f:facet name="label">My 3rd Tab</f:facet>
<h:outputText value="Third Tab Body" />
</ace:tabPane>
<ace:tabPane id="pane4">
<f:facet name="label">My File Entry Tab</f:facet>
<h:form id="file-form">
<ace:fileEntry id="file-entry" multiple="true"/>
</h:form>
</ace:tabPane>
</ace:tabSet>
With this setup, each tab pane could have its own, exclusive form, if desired. More information can be found on the wiki page for ace:tabSetProxy:
https://www.icesoft.org/wiki/display/ICE/TabSetProxy
An ace:tabSet and an ace:fileEntry component cannot share the same form, because both components modify the containing form in their own ways. However, there's a way to have an ace:fileEntry component inside a server-side ace:tabSet tab pane and be able to switch to any tab seamlessly and have the ace:fileEntry work normally. This can be achieved by using an ace:tabSetProxy component.
An ace:tabSetProxy component is used in conjunction with a server-side ace:tabSet component that is not inside of a form. The ace:tabSetProxy component is placed inside a form instead of the ace:tabSet component to handle the server communication on its behalf. Then, the ace:fileEntry component can have its own, exclusive form inside the tab pane where it is contained and function normally without conflicting with the ace:tabSet functionality.
Here is a basic example:
With this setup, each tab pane could have its own, exclusive form, if desired. More information can be found on the wiki page for ace:tabSetProxy:
https://www.icesoft.org/wiki/display/ICE/TabSetProxy