我遇到动态标签问题;我的代码如下:
<h:form id="form1">
<p:tabView id="tab1" dynamic="true" cacheContent="true" value="#{bean.tabs}" var="pst">
<p:tab title="pst.name">
<p:inputText id="p1" ... ></p:inputText>
<p:outputPanel id="p2">...</p:outputPanel>
<p:commandButton process="p1" update="p2" action="#{bean.doSomething(pst.id)}" />
</p:tab>
</tabView>
</h:form>
在渲染页面时,由于未知的组件ID,不会渲染命令按钮。
我通过萤火虫检查了一下。我发现对于第一个选项卡,组件ID具有以下格式:form1:tab1:0:p1, form1:tab1:0:p2
和第n个标签:form1:tab1:n:p1
我通常在我的process / update语句中为pf组件使用这种表达式,但是id连接到动态选项卡的索引的问题。
我也尝试过类似的东西
process="#{form1:tab1:index:p1}"
其中index是一个已定义的参数,但没有成功。
是否有解决此类问题的方法?