Composant lançant le rafraîchissement de la page :
Méthode updateValue() :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 <h:selectOneMenu value="#{controller.schedule.id}" onchange="submit();" valueChangeListener="#{controller.updateValue}"> <f:selectItems value="#{controller.scheduleList}"/> </h:selectOneMenu>
Méthode deduceInformation() lancé par updateValue() :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 public void updateValue(ValueChangeEvent valueChangeEvent) { System.out.println(" --- updateValue --- "); if (valueChangeEvent.getNewValue() != null) { deduceInformation(new Integer(valueChangeEvent.getNewValue().toString())); } }
Composant impacté par la méthode deduceInformation() :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 public void deduceInformation (int scheduleId) { Office office = null; schedule = scheduleService.get(scheduleId); if (schedule.getItineraryList() != null && schedule.getItineraryList().size() > 0) { for (Itinerary eachItinerary : schedule.getItineraryList()) { office = eachItinerary.getOffice(); if (eachItinerary.getFirstOffice() == 1) { firstOfficeId = office.getId(); } else { getOfficeList().add(office); } } } // Refresh table dataModel = null; }
Ce dernier composant est maintenant bindé à un Integer.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 <h:outputText value="#{properties.FIRST_OFFICE}"/><br/> <h:selectOneMenu value="#{controller.firstOfficeId}"> <f:selectItems value="#{controller.officeList}"/> </h:selectOneMenu>
Partager