在jsf </p:tab>中动态地将属性id分配给<p:tab>

时间:2013-02-23 17:22:34

标签: jsf primefaces liferay primefaces-extensions

我已经动态创建了标签,并且我正在尝试为其分配属性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>

1 个答案:

答案 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()中执行任何业务逻辑或处理。但你真的不需要做任何事情。