IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JSF Java Discussion :

execution redondante de mes actions precedentes


Sujet :

JSF Java

  1. #1
    mx5
    mx5 est déconnecté
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 14
    Points : 13
    Points
    13
    Par défaut execution redondante de mes actions precedentes
    Bonjour,

    Je développe actuellement avec le framework JSF, et ses managed bean.

    Depuis la page xhtml j'ai des balises "commandLink" qui permettent d'appeler les méthodes de mon controleur.
    Jusqu'à présent tout semblait fonctionner, sauf que je viens de réaliser que dès lors que je fais plus d'une action, les actions précédentes sont de nouveau exécutées Et moi y en a rien comprendre !!

    Ex, dans ma page j'ai :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <h:commandLink action="#{ctrl.genererCsv}">
    		    </h:commandLink>
     
    <h:commandLink action="#{ctrl.enregistrer}">
    		    </h:commandLink>
    Si j'exécute "ctrl.genererCsv" (note: le clic sur ces liens se fait par javascript), alors mon traitement se réalise correctement (méthode 'genererCsv' est appelée : export des données dans un fichier CSV)

    Si ensuite j'exécute "ctrl.enregistrer", j'ai bien ma méthode 'enregistrer' qui est appelée, mais juste derrière il me rappelle 'genererCsv', alors que je ne lui ai rien demandé !!

    En fait j'ai l'impression qu'il empile et sauvegarde en mémoire les appels au managed bean, puis qu'il tente de toutes les exécuter à chaque fois.

    Je suis un peu pommé, et ne maitrise pas le JSF, si quelqu'un peut m'aider...

  2. #2
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Que font tes méhode, est-ce qu'elle changent la page en cours? En fait, au niveau javascript, il y a un formulaire caché où l'on met le nom de l'action à appelé. Si la page ne change pas, il y a peut etre un bug dans le javascript généré qui empile les appels dans le form plutot que de nettoyer à chaque clic. Avec quel implémentation de jsf travaille-tu? Si tu travaille avec myfaces, vérifie avec l'implémentation sun que çà se reproduit et vice-versa

  3. #3
    mx5
    mx5 est déconnecté
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 14
    Points : 13
    Points
    13
    Par défaut
    Mes méthodes restent sur la page courante, mais j'indique un outcome.

    L'outcome désigne la page courante donc, et surtout me permet de passer un parametre nécessaire (piid) pour que la page s'affiche.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <h:commandLink action="#{ctrl.enregistrer}">
    			<f:param name="piid" value="#{processInstanceBean.processInstance.id}" />
      		      <jbpm:outcome outcome="default" type="view" target="/pages/mapage.xhtml" targetType="view">
      		      </jbpm:outcome>
    		    </h:commandLink>
    J'ai travaille avec l'implémentation de sun.
    J'ai tenté de mettre les librairies de myfaces, mais le projet est assez conséquent (il existait avant mon arrivée), et trop d'erreurs apparaissent dès que je retire les librairies sun.

    Peut-être qu'en utilisant un actionListener...

  4. #4
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Si tu travaille avec une navigation et que donc la page est bien redessinée après (même si c'est la même), le javascript ne devrait pas être en cause puisque le navigateur le réinitialise. Je pensais au départ, vu que tu semblais travailler avec du csv, que tu enregistrait le csv coté client et recliquait dans la même page (donc sur la page d'avant navigation).

    J'ignore ce que sont tes tags jbpm, le problème presiste-t-il quand tu les retire?

    Des messages d'erreur quand tu retire les librairies de sun? T'as quand meme pas fait la bétise de mettre des dépendances en com.sun dans tes imports? Sinon c'est peut-être simplement les dépendances de myfaces qui manquent

Discussions similaires

  1. [1.x] probléme de routage de mes actions
    Par symfony30000 dans le forum Symfony
    Réponses: 5
    Dernier message: 11/05/2010, 13h55
  2. Double execution de mes Actions
    Par kabal dans le forum Struts 1
    Réponses: 3
    Dernier message: 30/09/2008, 21h14
  3. Probleme d'invocation dans mes actions
    Par philmtx dans le forum Struts 2
    Réponses: 0
    Dernier message: 27/11/2007, 10h14
  4. tuto préchargement : annulation de mes actions
    Par denisgrugeon dans le forum Flash
    Réponses: 4
    Dernier message: 23/01/2007, 20h25
  5. execution automatique d'une action par le serveur
    Par mael94420 dans le forum ASP
    Réponses: 3
    Dernier message: 16/06/2006, 11h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo