2013-05-09 57 views
1

版本: 的NetBeans 7.2.1 PrimeFaces:3.5.3 的GlassFish:3.1.2 JDK 1.6JSF - P:AJAX監聽請求參數的NetBeans/primefaces

我一直試圖找到相關問題,並找到接近的主題,但不是我所期待的。我試圖做一些類似PrimeFaces ShowCase的p:schedule demo,我想要一個對話框來顯示點擊事件的細節。

我認爲這個問題是從調用從後臺bean的偵聽器方法來。當我走在在P監聽法鍵入:AJAX標籤上,NetBeans迫使我像一個參數來傳遞:

listener="#{cmodel.onEventSelect(e)}" 

,我不認爲這是必要的,因爲我沒有價值反正通過。

我想要麼:

  1. 東西了與不認識的方法作爲聽衆的NetBeans。 (因爲我一直看到的人調用方法多個例子,而無需傳遞參數。)

  1. 我不是在Model註冊方法作爲聽者正確。

此外,我已經直接從ShowCase複製並粘貼演示到項目中,並且它沒有工作,這使我更加關注NetBeans的問題。 (也就是,但出現的對話框與選擇,關於事件的任何信息)

所以總結;事件顯示出來,因爲他們應該按照時間表本身,我只是不能讓對話框顯示所選事件的事件細節。

任何幫助將不勝感激!

視圖層:

<h:form> 
    <p:schedule id="nelsonsSchedule" value="#{cmodel.scheduleModel}" showHeader="true" 
       leftHeaderTemplate="none" rightHeaderTemplate="prev, next today" 
       draggable="false" timeZone="UTC" styleClass="schedule">      
        <p:ajax event="eventSelect" listener="#{cmodel.onEventSelect}" 
          update="eventDialog eventDetails" oncomplete="eventDialog.show()"/>      
       </p:schedule> 

       <p:dialog id="eventDialog" widgetVar="eventDialog" header="EventDetails"> 
        <p:panel id="eventDetails"> 
         <h:outputLabel value="#{cmodel.selectedEvent.title}" /> 
        </p:panel> 
       </p:dialog>     
      </h:form> 

輔助Bean:

@ManagedBean(name = "cmodel") 

@SessionScoped 公共類CalendarModel實現Serializable {

private ScheduleModel scheduleModel; 
private List<ScheduleEvent> allScheduledGames; 
private DefaultScheduleEvent gameEvent; 
public ScheduleEvent selectedEvent; 
List<Game> allGames; 
@PersistenceContext 
private EntityManager em; 

public CalendarModel() { 

} 

@PostConstruct 
public void init() { 
    allScheduledGames = new ArrayList<ScheduleEvent>(); 
    allGames = new ArrayList<Game>();  

    allGames = em.createNamedQuery("Game.findAll").getResultList(); 

    /*create list of games to put into the ScheduleModel*/ 
    for (int i = 0; i < allGames.size(); i++) { 

     gameEvent = new DefaultScheduleEvent(allGames.get(i).getOpponent() + 
        "\n\n\n" + allGames.get(i).getTimeOfGame(), 
        allGames.get(i).getDateOfGame(), 
        allGames.get(i).getDateOfGame()); 

     if(allGames.get(i).getHomeAway().equals("away")){ 
      gameEvent.setStyleClass("away"); 
     } else{ 
      gameEvent.setStyleClass("home");    
     } 

     gameEvent.setData(allGames.get(i));   
     allScheduledGames.add(gameEvent); 
    }/*end for*/ 

    scheduleModel = new DefaultScheduleModel(allScheduledGames); 

}/*end init()*/ 

public void onEventSelect (SelectEvent e) { 
    selectedEvent = new DefaultScheduleEvent(); 
    selectedEvent = (ScheduleEvent) e.getObject();  
} 

回答

0

在任何人的情況下運行到同一個問題 - 它是NetBeans。我升級到7.3,不再有問題了。雖然另一個出現在itellisense無法識別支持bean的hashmap的地方,但這是另一個問題。