Jsf 2 如何使用<;h:表格>;在<;rich:tabPanel>;
我正在开发我的第一个JSF2+Richfaces应用程序,现在我遇到了这个问题 我有以下丰富的:tabPanel,其中动态添加和删除选项卡Jsf 2 如何使用<;h:表格>;在<;rich:tabPanel>;,jsf-2,richfaces,tabpanel,Jsf 2,Richfaces,Tabpanel,我正在开发我的第一个JSF2+Richfaces应用程序,现在我遇到了这个问题 我有以下丰富的:tabPanel,其中动态添加和删除选项卡 <h:form> <rich:tabPanel id="tabsPanel" switchType="ajax" activeItem="#{tabsBean.activeTab}" > <c:forEach var="tab" ite
<h:form>
<rich:tabPanel id="tabsPanel" switchType="ajax" activeItem="#{tabsBean.activeTab}" >
<c:forEach var="tab" items="#{tabsBean.tabs}" styleClass="myRightPanel">
<rich:tab name="#{tab.name}" styleClass="myTab" >
<h:form id="#{tab.name}" >
<ui:include src="#{tab.pathDaIncludere}" />
</h:form>
</rich:tab>
</c:forEach>
</rich:tabPanel>
</h:form>
但要运行,我必须在每个
周围添加一个
,否则选项卡中的操作将不起作用
在每个选项卡中插入
是否正确?@Daniel可能会更糟;我宁愿使用a4j:region,而不是嵌套表单有自己的问题。我建议您从选项卡内部删除h:form
,并将c:forEach
更改为a4j:repeat
。正如@Gamb所说,您与嵌套表单无关。仅使用一个包围整个选项卡面板
,或为每个选项卡
使用一个。另一方面,我认为您必须使用c:forEach
,因为tabPanel必须在页面呈现之前知道他的标记。相关:@XtremeBiker您对c:forEach
有一点看法。我收回我先前评论的那一部分。OP只需确保在重新渲染时使用正确的选项卡正确填充tabsBean.tabs
集合(如果这是有意的话)。无法使用ui:repeat
动态构建它。这在Primefaces这样的库中是一个优势,在Primefaces中,tabView
组件具有内置迭代器,您可以在渲染之前构建模型<代码>。这只是避免在视图中引入更多逻辑。