Execution methode Session Bean au chargement d'une page
Bonjour,
J'ai fait plusieurs fois le tour de la recherche, de la FAQ et de google, je n'arrive pas a trouver mon probleme... Je m'explique :
Lors du chargement de ma page JSF, certaines méthodes (pas toutes sinon ca serait pas drôle) sont executées au chargement de ma page.
Voici le code de ma JSF :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
|
<f:view>
<h:form>
<h1><h:outputText value="Liste des musiques du genre"/></h1>
<input type="file" name="upload" onlosefocus="#{musiqueMBean.uploaderMusique(this.files)}" />
<h:commandButton value="retour" action="#{musiqueMBean.updateListeMusique()}"/>
<p:dataTable value="#{musiqueMBean.musiques}" var="item">
<p:column headerText="Select">
<f:facet name="header">
<h:outputText value="Select"/>
</f:facet>
<p:selectBooleanCheckbox value="#{musiqueMBean.addSelectedMusique(item)}" /> |
du coté du managed bean :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
| /**
*
* remet la liste des musiques par defaut
*/
public void updateListeMusique(){
System.out.println("updateListeMusique : debut");
musique = gestionnaireMusique.getAllMusiques();
}
public void addSelectedMusique(Musique m){
System.out.println("MusiqueMBean.addselectedMusique() : debut ");
// Recherche si la musique est deja presente dans la liste
// Si oui, alors on la vire ==> on viens de decocher la case
// Sinon on l'insere
if (musiqueSelected.contains(m)){
// On la vire
musiqueSelected.remove(m);
}
else{
// on l'insere
musiqueSelected.add(m);
}
}
public void uploaderMusique(File f){
System.out.println("uploaderMusique : debut");
System.out.println("uploaderMusique : etat fichier = ");
lectureEnCours= null;
/*if (event.getFile() != null){
File f = (File)event.getFile();
gestionnaireMusique.recupererMusique(f,null);
}
else{
System.out.println("pas de fichier a upload");
}*/
} |
Comportement :
les methodes uploaderMusique(File f) et addSelectedMusique sont executées lors chargement (ou rechargement) de ma page (DataTable?) alors que la methode updateListeMusique() est bien executée uniquement lorsqu'on en as besoin par le clic du bouton.
J'utilise JSF 2.0 et primefaces 3.0
Est-ce que quelqu'un a déjà eu ce probleme?