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 avec a4j:support


Sujet :

JSF Java

  1. #1
    Nouveau membre du Club
    Inscrit en
    Février 2009
    Messages
    136
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 136
    Points : 28
    Points
    28
    Par défaut Problème avec a4j:support
    Bonjour,
    dans une application j2ee et framwork jsf, quand j'utilise dans le formulaire des champs contenant le composant a4j:support, cela conduit a une lenteur pour passer au champs suivant, par exemple j'ai un champ code et libelle avec ces codes:
    pour le code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <td>
    <h:inputText id="societe" tabindex="4" styleClass="majuscule"
    value="#{EBDivision.selectedSociete.code}" size="6" maxlength="2" >
    <a4j:support event="onblur"  focus="code" reRender="formulaire" 
    actionListener="#{EBDivision.affectSociete}"/>
     
    <rich:suggestionbox height="100" width="150" usingSuggestObjects="true" bypassUpdates="true"  suggestionAction="#{EBDivision.autocompleteSociete}" var="v" for="societe" ajaxSingle="true"
     fetchValue="#{v}" id="suggestion1" tokens="," minChars="0" ignoreDupResponses="true" > <h:column>
    <h:outputText value="#{v}" />
     </h:column>
     </rich:suggestionbox>
     </h:inputText> 
    </td>
    pour le libelle:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <td ><h:inputText  id="libelle" styleClass="majuscule" readonly="true"
    value="#{EBDivision.selectedSociete.libelle}" size="50" maxlength="150">
    </h:inputText></td>
    quand je passe avec la tabulation du code au libelle et je tape le libelle cela se supprime apres, car il faut apres la passage du code au libelle patienter quelques secondes avant de saisir le libelle. si j'enleve l'instruction a4j:support...le fonctionnement devient rapide mais moi j'ai besoin de cette instruction car elle permet l'affectation de tous le formulaire au cas ou j'insere un code existant dans la base de données. j'espere trouver une solution chez vous.
    merci d'avance.

  2. #2
    Rédacteur
    Avatar de romaintaz
    Homme Profil pro
    Java craftsman
    Inscrit en
    Juillet 2005
    Messages
    3 790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Points : 7 275
    Points
    7 275
    Par défaut
    A mon avis, ton problème vient du fait que tu dois envoyer et recevoir trop d'information à chaque appel Ajax.
    Essaie de rajouter limitToList="true" à ton a4j:support. Eventuellement, tu peux aussi ajouter un immediate="true".

  3. #3
    Nouveau membre du Club
    Inscrit en
    Février 2009
    Messages
    136
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 136
    Points : 28
    Points
    28
    Par défaut
    bonjour,
    oui je suis daccord avec toi, c'est surement a cause de sa, je vais essayé ce que tu ma conseillé merci beaucoup.

  4. #4
    Membre averti Avatar de Shinzul
    Homme Profil pro
    Lecteur assidu de code source
    Inscrit en
    Janvier 2008
    Messages
    174
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Lecteur assidu de code source
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2008
    Messages : 174
    Points : 333
    Points
    333
    Par défaut
    Bonjour,

    Dans un cas comme le tiens lorsque l'on arrive vraiment pas a rendre l'application fluide après optimisation des paramètres du a4j:support (Souvent a cause d'une méthode un peu lourde coté serveur) on fait patienter l'utilisateur via du js.
    C'est pas a faire dans tous les cas mais quand c'est vraiment importants on utilise un a4j status sur une région contenant le champs en question pour afficher un message d'attente et on utilise le onsubmit et oncomplete du a4j:support pour disable les champs cibles.

    Ca nous permet lors de l'envoie d'une auto-complétion de "fermer" le formulaire avec un petit message informant l'utilisateur puis d'afficher les informations en réactivant le formulaire.

    Par contre même avec cette solution il faut que le traitement soit le plus rapide possible car il bloque l'utilisateur.

  5. #5
    Nouveau membre du Club
    Inscrit en
    Février 2009
    Messages
    136
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 136
    Points : 28
    Points
    28
    Par défaut
    Bonjour,
    hélas sa ne change rien avec limitToList="true", et je ne peux afficher un message pour l'utilisateur, car cela se pose en inserant les champs du formulaire: code, libelle...c'est pas pratique dee demander à l'utilisateur de patienter, les clients vont vraiment etre decu

Discussions similaires

  1. problème avec a4j:outputPanel (richfaces)
    Par nawrasarum dans le forum JSF
    Réponses: 8
    Dernier message: 15/05/2009, 11h59
  2. Problèmes avec a4j dans richfaces
    Par jean-pierre96 dans le forum JSF
    Réponses: 4
    Dernier message: 02/02/2009, 18h04
  3. [débutant] problème avec a4j
    Par david42 dans le forum JSF
    Réponses: 3
    Dernier message: 03/10/2008, 09h09
  4. Problème avec <a4j:support/>
    Par romaintaz dans le forum JSF
    Réponses: 2
    Dernier message: 17/10/2007, 17h12
  5. ajax4jsf: problème avec <a4j:include>
    Par heureuxLesOublieux dans le forum JSF
    Réponses: 3
    Dernier message: 18/06/2007, 10h30

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