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

JavaScript Discussion :

Vitesse de chargement


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de lextaz33
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2008
    Messages
    169
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2008
    Messages : 169
    Par défaut Vitesse de chargement
    Bonjour à tous, je précise que je développe en java (pages jsp).
    J'appelle une fonction java script sur l'évènement onload de ma page web qui met beaucoup trop de temps à se faire.

    Ce qui prend du temps dans cette fonction, ce sont les deux boucles ci dessous:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    var aNames = new Array();
    var aID = new Array();
    var aCont = new Array();
    var aContID = new Array();
     
    <%for(int i = 0; i < listeC.size(); i++){%>			
         aCont.push("<%= listeC.get(i).getContactnom()%>" +"/"+ "<%= listeC.get(i).getContactprenom() %>")	
         aContID.push("<%=listeC.get(i).getContactid()%>")			
    <%}%>
     
    <%for(int i = 0; i < liste.size(); i++){%>			
         aNames.push("<%= liste.get(i).getSocieteRaison1()%>" +"/"+ "<%= liste.get(i).getSocieteRaison2() %>" +"/"+ "<%= liste.get(i).getSocieteCodePostal() %>")	
         aID.push("<%=liste.get(i).getSocieteId()%>")			
    <%}%>
    listeC est une liste de contact et liste une liste de société. Ces deux listes sont très grosse (toutes les données de la base quasiment) alors comment pourrais-je améliorer ce chargement?
    Merci d'avance!

  2. #2
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    3 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 3 653
    Par défaut
    remplace déja ces lignes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    for(int i = 0; i < listeC.size(); i++){
    ...
    }
    par :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for(int i = 0, l = listeC.length; i < l; i++)
    ce qui évitera a chaque itération de recompter la taille de ton tableau ...

  3. #3
    Membre confirmé Avatar de lextaz33
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2008
    Messages
    169
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2008
    Messages : 169
    Par défaut
    merci pour ta réponse le_chomeur!!

    Sauf que listeC et liste sont des listes java.
    Donc listeC.length est impossible dans ce cas la.
    Tous le code qui se trouve entre <%%> est du code java.

    Je t'explique:
    Je récupère deux listes java que je doit envoyer à du code javascript en créant à partir de ces listes, deux listes de noms et d'ID et la création de ces listes avec la boucle est trop longue.

    aNames et aCont sont les listes de nom
    aID et aContID sont les liste d'ID

  4. #4
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    3 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 3 653
    Par défaut
    dans tous les langage , la ligne que je t'ai donné optimise tous les langages ...
    peux tu nous montrer le code généré ??

  5. #5
    Membre confirmé Avatar de lextaz33
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2008
    Messages
    169
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2008
    Messages : 169
    Par défaut
    Alors premièrement l'erreur généré par listeC.length:
    "An error occurred at line: 36 in the jsp file: /page/detailsEvenement.jsp
    Generated servlet error:
    listeC.length cannot be resolved or is not a field"

    Ensuite, le code généré :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    aNames.push("blabla" +"/"+ "" +"/"+ "31016")	
    aID.push("552")			
    aNames.push("encoreblabla" +"/"+ "" +"/"+ "33600")	
    aID.push("60277")
     
    aCont.push("ZREZR" +"/"+ "zetret")	
    aContID.push("88837")					   			
    aCont.push("ZREZR" +"/"+ "zetret")	
    aContID.push("88838")
    Je ne te met pas les 1664 contacts et 200 société des listes ca ferait beaucoup.
    Mais bizarrement, l'erreur est généré à la compilation, mais ne créé pas de problème sur la page. Les listes sont crée tout correctement, mais le temps de chargement n'a pas diminué.

  6. #6
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    pourquoi pas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    aNames[indice]="blabla" +"/"+ "" +"/"+ "31016"
    dans la boucle en incrémentant l'indice ?
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  7. #7
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    3 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 3 653
    Par défaut
    lol

    An error occurred at line: 36 in the jsp file: /page/detailsEvenement.jsp
    Generated servlet error:
    listeC.length cannot be resolved or is not a field"
    length est une propriété javascript et non java pour ta génération utilise size() ...

    pourquoi stockes tu tous tes élément dans un tableau plutôt que de les écrires directement dans la partie htlm ??

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

Discussions similaires

  1. Réponses: 16
    Dernier message: 23/07/2009, 10h55
  2. Améliorer la vitesse de chargement des images
    Par danielhagnoul dans le forum jQuery
    Réponses: 2
    Dernier message: 05/03/2009, 09h07
  3. Vitesse de chargement de ma requête
    Par Mors_Ubyte dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 08/07/2008, 13h57
  4. [EDI][D2005]Vitesse de chargement d'assembly au debug
    Par sur_uix dans le forum Delphi .NET
    Réponses: 4
    Dernier message: 12/12/2005, 17h49
  5. Vitesse de chargement d'une image jpg ?
    Par ybruant dans le forum Langage
    Réponses: 6
    Dernier message: 16/11/2004, 20h42

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