我已经动态创建了标签,并且我正在尝试为其分配属性ID,这是无法正常工作.....或者是否有其他任何方式来获取点击标签的标题?
<p:accordionPanel value="#{displayassestDto.getgroups()}" var="d">
<p:ajax event="tabChange" listener="#{displayassestDto.onTabChange}" update=":form:growl"/>
<p:tab title="#{d.group}" id="tab_#{d.group}">
<h:outputLabel value="Helllooo" />
</p:tab>
</p:accordionPanel>
答案 0 :(得分:-1)
获取点击标签标题的其他任何方式?
是的,可以修改onTabChange
以接受TabChangeEvent
类型的对象。在此对象上,您可以检索触发事件的选项卡。您的代码看起来像
public void onTabChange(TabChangeEvent evt){
evt.getTab(); // on this tab object returned, you can get the id, title etc
}
至于为什么你的代码现在不能正常工作,可能是因为getGroups()
的输出状态在整个请求处理过程中并不一致。确保您没有在getGroups()
中执行任何业务逻辑或处理。但你真的不需要做任何事情。