2013-11-26 29 views
0

經過一天的痛苦,我終於獲得了數據到日程安排事件中。Primefaces Schedule - 從事件中提取數據

我現在試圖設置事件,當它被點擊時,它使用數據變量加載一個新頁面。

這裏的XHTML

<p:schedule id="schedule" 
    value="#{LeadListScheduleController.eventModel}" widgetVar="schedule"> 
    <p:ajax event="eventSelect" 
     listener="#{LeadListController.redirectToLeadEdit(Data)}" /> 
</p:schedule> 

和Java

public void redirectToLeadEdit(String data) throws IOException { 
    redirect("/lead/" + data + "/edit"); 
} 

我怎樣才能獲得的數據對象,現在的事件,因此該URL的作品?

回答

1

作爲showcase explains,不需要手動將當前選定事件作爲參數傳遞給偵聽器方法。只需聲明一種方法,即可以捕獲傳入事件並從中獲取數據。之後,你可以用你需要的一切來調用你的重定向方法。

<p:ajax event="eventSelect" 
     listener="#{LeadListController.onEventSelect}" /> 
public void onEventSelect(SelectEvent selectEvent) { 
    ScheduleEvent event = (ScheduleEvent) selectEvent.getObject(); 
    redirect(event.getData()); 
} 

Appart酒店從和完全無關的問題,我建議您命名管理豆類爲bean類的名稱與小寫的第一個字母。這是一個已經討論過的java規範here

+0

非常感謝我認爲那差不多了。出於某種原因,訪問方法時碰到得到一個nullpointexception \t \t \t \t \t \t \t \t \t \t – user5839

+0

2013年11月27日上午09時56分02秒com.sun.faces.lifecycle.InvokeApplicationPhase執行 警告:方法不找到:[email protected]t(org.primefaces.event.ScheduleEntrySelectEvent) javax.el.MethodNotFoundException:未找到方法:[email protected]t(org.primefaces.event.ScheduleEntrySelectEvent) – user5839

+1

修復了primefaces的更新 – user5839