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 :

FicheFaces FileUpload + DataTable


Sujet :

JSF Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 26
    Par défaut FicheFaces FileUpload + DataTable
    Bonjour.
    Je me lance sur un nx projet en JSF / RichFaces et je me heurte à un plusieurs problèmes dont 1 en particulier à savoir le rafraichissement d'un rich:dataTable suite à l'upload d'un fichier.
    En gros j'upload un fichier texte que je lis, puis je remplie une List pour enfin mettre à jour le dataTable.
    Il se trouve que le rafraichissement ne se fait pas toujours ?
    Y aurait-il une méthode qui force le reRender ?
    Ca fait 3 semaines que je bosse sur JSF et j'en suis vraiment dessus, les composants richfaces bugs ! La documentation est succincte, on ne sait pas ce qui se passe derrière.... méga boite noire !
    Merci quand meme pour une solution !

  2. #2
    Expert éminent
    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 : 46
    Localisation : Belgique

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    En ce qui me concerne, les composant richfaces, je les trouve très stables. Quand à la documentation, chaque paramètre de chaque tag est décrit avec à chaque fosi 2 exemples, on peut difficilement parler de documentation succinte. Sans compter l'application de démo elle aussi disponible. C'est peut etre toi qui ne gère pas correctement JSF. On pourrait commencer par voir ton fileupload, ton datatable, et ton backing bean?

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 26
    Par défaut
    Le truc est que le rafraichissement du dataTable va marcher 3 fois sur 4 ! Ce n'est pas systématique ?
    Je ne sais pas si c'est du au fait que la page est lourde en composant TabPanel avec plusieurs fileUpload et dataTable ?
    En gros dans le code à la fin du chargement "oncomplete" je rafraichi (reRender) un dataTable. Ce que j'ai fait en + c'est que j'ai bindé le composant au managedBean pour forcer le setValue avec ma List<> !
    Existe -t-il une méthode, un composant, un truc pour forcer le rafraichissement ?

    Je pense que certains composants sont buggués ! L'objet calendar par exemple. Je l'ai positionné dans une <table><tr>... et depuis impossible de modifier la date ? Pourquoi ?
    Le dataTable ne s'affiche pas de la même manière sous IE ou Firefox ? Bien connu certes mais dans ce cas là impossible de savoir pourquoi --> boite noire !!
    J'ai l'impression que les composants JSF se marient mal avec les balises classiques HTML ? Mais bon je n'ai pas encore assés d'expérience avec ce Framework !

    Merci en tout cas pour ta réponse express....

  4. #4
    Expert éminent
    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 : 46
    Localisation : Belgique

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    rajoute un a4j:log

    quand à l'upload, utilise-tu rich:fileupload? ou le composant de base de jsf?

    De plus, le rerendu dans myfaces, on ne fait pas ca dans un oncomplete, mais on se contente d'utiliser le paramètre "reRender" présent dans tous les tags rich faces. oncomplete ca sert à exécuter du javascript supplémentaire à toi.

    Ensuite, si ta table ne se raffraichi pas, il peut y avoir plusieurs raisons:

    1) la table était absente précédement. Alors richfaces recois en réponse un datatable avec un id, mais comme il trouve pas d'id équivalent sur ta page, il ne sait pas placer la datatable -> on sais rien en faire, on jette. Pour ca, je recommande d'entourer ton datatable d'un outputpanel: http://www.jboss.org/file-access/def...ml#outputPanel

    2) une erreur s'est produite dans tes bean jsf, la réponse du serveur est inutilisable, il ne fait rien coté client. Pour afficher des détails, utilise a4j:log

    3) pour une raison ou un autre dans ta structure de page et ton bean, dans la réponse, le datatable est en rendered=false ou un de ses parents

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 26
    Par défaut
    En fait le oncomplete je l'ai mis dans un a4j:support !

    <rich:fileUpload>
    <a4j:support oncomplete reRender="maDataTable" />
    </rich:fileUpload>

    Merci pour ta réponse, je vais essayer le a4j:log voir ce qui se passe !!

    Mille merci.....

  6. #6
    Expert éminent
    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 : 46
    Localisation : Belgique

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    a4j:support c'est pour ajouter des propriétés ajax aus composants de base. Le rerender ici tu le met direct dans ton rich:fileupload. De plus, dans a4j:support, c'est 'event="..." et les évenement gérés sont uniquement ceux de bae du html (exemple: event="onchange" reRender="xxxxxyz")

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 26
    Par défaut RichFaces FileUpload + DataTable
    OK.

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 26
    Par défaut
    Bon ben j'abandonne aussi rich:extendedDataTable, il est bcp trop long à recharger.... c'est vraiment rageant !!!

  9. #9
    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
    Par défaut
    Citation Envoyé par My.Poux Voir le message
    Bon ben j'abandonne aussi rich:extendedDataTable, il est bcp trop long à recharger.... c'est vraiment rageant !!!
    comme je t''ai dit, c'est un nouveau composant et il n'est ps encore optimisé, utilise dataTable, commence à tester et si tu as un soucis, on peut t'aider à faire ce que tu veux..

  10. #10
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 26
    Par défaut
    Le seul souci que j'ai c'est qu'il est buggué !
    Y a un bug sur IE version 6.
    Mais ce n'est pas grave, j'ai fait autrement.......

    Merci à tous pour vote et bonnes fêtes !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [fileupload] problème pour parser la requete
    Par jaimepasteevy dans le forum Struts 1
    Réponses: 12
    Dernier message: 24/04/2008, 12h02
  2. [VB.NET][ADO]Fusionner des dataTables
    Par neo.51 dans le forum Windows Forms
    Réponses: 5
    Dernier message: 30/07/2005, 00h22
  3. [VB.NET] Suppression de ligne dans un DataTable
    Par seemax dans le forum Windows Forms
    Réponses: 7
    Dernier message: 06/05/2004, 14h19
  4. Réponses: 2
    Dernier message: 20/02/2004, 08h47
  5. Réponses: 3
    Dernier message: 21/05/2003, 11h44

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