2013-01-16 61 views
1

我想創建一個accordion panel它是動態加載一個bean,並且它必須觸發其他bean上的方法,當用戶點擊一個tab .Panel創建工作正常,監聽者也被調用,但是監聽者沒有得到被點擊的項目標題。任何人都可以指出我的問題,或者指出我做這件事的正確方法。primefaces動態手風琴不解析價值tabChange列表

.xhtml

<p:accordionPanel activeIndex="-1" dynamic="true" cache="false" 
           value="#{beanOne.ItemList}" 
           var="item"> 
       <p:ajax event="tabChange" listener="#{beanTwo.onTabChange}" /> 
       <p:tab title="#{item.title}">      
        //view other content of item 
       </p:tab> 
</p:accordionPanel> 

public void onTabChange(TabChangeEvent event) { 
    System.out.println("onTabChange :"+event.getTab().getTitle()); 
} 

我想這是因爲面板負載標籤dynamically.but有什麼選擇?

+0

您是否嘗試設置'dynamic =「false」'並查看發生了什麼? – partlov

+0

否這是必需的.item從表中提取並且頻繁更改(項目內容),所以內容必須相應更新。因此需要動態變化 – sampathpremarathna

+0

我剛剛建議它進行測試,看看您是否可以獲得該標題案件。 – partlov

回答

1

最後我做到了。

我改變我的豆onTabChange像this.And方法是工作......與該

Object o = event.getData(); 
    Item t = (Item) o; 
    System.out.println("onTabChange :"+t.getTitle); 

它不給tab.title,但它給人的對象(項目)點擊選項卡。