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 :

Problème IE7 sur a4j:commandlink et problème sur le bouton retour du navigateur


Sujet :

JSF Java

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    129
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 129
    Points : 81
    Points
    81
    Par défaut Problème IE7 sur a4j:commandlink et problème sur le bouton retour du navigateur
    Hello

    J'ai rencontré un bug de JSF/A4J avec IE7 : dans une jsp où il y a de l'ajax, j'essaie de faire un a4j:commandlink qui appele une navigation rule. Mais quand on clicke sur ce lien, rien ne se passe sous IE7. Sous fiorefox aucun problème.

    Cela m'a été confirmé comme étant un bug connu mais la correction n'est pas planifiée...

    Du coup j'ai essayé de contourner le problème comme ceci : j'ai mis une propriété "complete" dans mon a4j qui appelle un javascript qui lui va changer la page...

    Siq vous avez une autre solution pour contourner ce problème, je suis preneur car ma solution provoque un autre problème que je vais maintenant expliquer à son tour.

    Problème : ma solution à l'air de flinguer le bon fonctionnement du boutton retour.

    Je m'explique :

    J'ai 3 pages, la page de démarrage, une page de liste, et une page détail (de chaque élément d la liste).

    Au début je suis donc sur la page de démarrage et j'utilise un h:commandlink pour aller sur la page de liste.

    Sur cette page, je construis un Panel Menu dynamiquement et je fixe le mode comme étant "AJAX" à ses composants (d sorte que lorsque l'on clique sur un élément du menu, la liste se reconstruit mais uniquement celle ci et non pas toute la page).

    Code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    panelMenu = new HtmlPanelMenu();
    panelMenu.setMode("ajax");
    ...
     
    HtmlPanelMenuItem menuItem_AccountInfo = new HtmlPanelMenuItem();
    menuItem_AccountInfo.setMode("ajax");
    ...
    Dans la liste, j'utilise un a4j:commandLink (j'ai été obliger d'utiliser un a4j car apparement comme mon formulaire contient de l'ajax, tous les liens doivent être en ajax ou quelque chose comme ça enfin bref je n'ai pas eu le choix) qui lui même appelle un javascript qui appelle la page de détail.

    Une fois sur cette page de détail, c'est ici que le problème survient : si j'appuie sur le boutton "retour" du navigateur, la page revient sur la page d'acceuil (à la place de la page de liste).

    Si vous savez comment résoudre ce problème et/ou si vous avez une autre idée que la solution que j'ai utilisée pour contourner le problème Internet Explorer 7, je suis plus qu'interessé!

    Merci a vous!

  2. #2
    Rédacteur

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    4 184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 184
    Points : 5 059
    Points
    5 059
    Par défaut
    Je ne suis pas sur que ce soir un bug, les composants a4j, notamment le commandButton sert à envoyer une requete ajax et réactualiser une partie de la page, c'est pour celà qu'il ya des problèmes avec la navigation.
    pour contourner le problème, ajoutes dans la navigation rule:


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

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 804
    Points
    48 804
    Par défaut
    une autre solution, comme tu veux de fait faire un navigation, il n'y a plus rien à garder dans la page -> Je ne vois pas de raison pour ne pas utiliser un commandlink normal de jsf à la place.

  4. #4
    Membre habitué Avatar de pmartin8
    Inscrit en
    Novembre 2003
    Messages
    306
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 306
    Points : 126
    Points
    126
    Par défaut
    une autre solution, comme tu veux de fait faire un navigation, il n'y a plus rien à garder dans la page -> Je ne vois pas de raison pour ne pas utiliser un commandlink normal de jsf à la place.
    Dommage.. je ne comprends rien à cette réponse...

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

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 804
    Points
    48 804
    Par défaut
    Je la refait avec une ponctuation correcte

    Une autre solution. Comme tu veux, de fait, faire une navigation, il n'y a plus rien à garder dans la page. Par conséquent, je ne vois pas de raison pour ne pas utiliser un commandlink à la place.

  6. #6
    Membre habitué Avatar de pmartin8
    Inscrit en
    Novembre 2003
    Messages
    306
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 306
    Points : 126
    Points
    126
    Par défaut
    Ok, Bref tu proposes d'enlever le Ajax...

    Dans mon cas, un commandLink dans IE7 donne un résultat un peu bizz! Lorsque que je clique sur mon image qui fait office de lien, IE se place en mode chargement de page... jusqu'ici c'est normal. Par contre, si je déplace ma souris en dehors de l'image, un "onmouseout" est appelé pour changer mon image et IE n'est plus en mode chargement de page. Comme si le chargement était terminé... mais la page n'est pas encore rafraichie.

    si j'attends un peu, la page est rafraichie, mais pendant un moment, on a l'impression que le rien ne se passe...

    Je ne sais pas si je suis clair?!

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

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 804
    Points
    48 804
    Par défaut
    oui clair, mais bon, comme la page est finalement chargée, y a pas de soucis. Tous les utilisateurs de IE savent qu'il faut pas se fier à la barre de chargement ie Si ca pose vraiement un problème, dans le onclick tu vire le mouseout :p

  8. #8
    Membre habitué Avatar de pmartin8
    Inscrit en
    Novembre 2003
    Messages
    306
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 306
    Points : 126
    Points
    126
    Par défaut
    Ouais.. vive IE!!

Discussions similaires

  1. problème de reRender sur a4j:support
    Par sendoshi dans le forum JSF
    Réponses: 1
    Dernier message: 09/06/2009, 12h13
  2. Passage de parametre sur a4j:commandLink
    Par yoskater dans le forum JSF
    Réponses: 4
    Dernier message: 04/03/2008, 11h03
  3. Réponses: 7
    Dernier message: 23/07/2005, 12h50
  4. Réponses: 2
    Dernier message: 20/08/2004, 17h10

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