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

Ext JS / Sencha Discussion :

Grille et XML


Sujet :

Ext JS / Sencha

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2010
    Messages
    394
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Avril 2010
    Messages : 394
    Par défaut Grille et XML
    Bonjour,

    J'ai une grille, et j'aimerai qu'elle fasse un "chargement à la demande". C'est à dire que lors du premier affichage de la page, seuls les 10 premiers résultats de la recherche soit affichés (avec une pagination de 10 résultats par page), puis, lorsque je passe à la page suivante, les 10 résultats suivants soient chargés, et ainsi de suite.

    Côté serveur, je travaille avec Struts (1.1), et pour diverses raisons, je dois envoyer ces données au format Xml.

    Pour ce faire, j'ai un store qui a cette tête-là en JavaScript :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    var store = new Ext.data.Store({
         proxy = new Ext.data.HttpProxy({
              url: 'monURL/monAction.do?method=loadXmlData'
              // pointe vers mon action Struts
         }),
         reader = new Ext.data.XmlReader({
              record: 'record',
              totalRecords: 'total'
         }, [
              {name: 'monNom01', type: 'float'},
              // une dizaine comme ça
         ])
    });
    Mon soucis, c'est, à partir de mon action Struts, de générer un fichier xml avec mes données, afin que Ext JS les comprenne et les affiche dans ma grille.

    Si quelqu'un a une idée...

    Mako

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 39
    Par défaut
    Hello, dans mon cas je fais ça en php. Mais tu dois pouvoir faire quelque chose de similaire avec js.

    Je vais chercher mes données en bdd, puis par tout un tas de boucles je traite les informations et le mets en forme, à la fin il me reste une variable qui contient tout mon xml, et en fin de script j'affiche cette variable.

  3. #3
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2010
    Messages
    394
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Avril 2010
    Messages : 394
    Par défaut
    Je récupère mes données, pas de soucis de ce côté-là. C'est vraiment la partie "génération d'un fichier xml" qui me pose des soucis.

    Voilà ce que je fais pour le moment dans mon action Struts (pas d'erreurs, mais la grille est vide à l'affichage) :

    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
     
    public ActionForward loadXmlData(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) {
     
         // Je commence par recuperer mes donnees sous la variables "liste"
         // Partie pour envoyer un fichier xml
         ServletOutputStream out = response.getOutputSteam();
         StringBuffer buffer = new StringBuffer();
         MonType temp = new MonType(); // type de mes donnees, POJO
     
         response.setHeader("Cache-Control","no-store");
         response.setHeader("Pragma","no-cache");
         response.setContentType("text/xml");
     
         buffer.append("<total>"+liste.size()+"</total>");
         for (int i = 0; i<liste.size(); i++) {
              temp = (MonType) liste.get(i);
              buffer.append("<record>");
              buffer.append("<monNom01>"+liste.getNom01()+"</monNom01>");
              // On fait de meme pour tous mes champs
              buffer.append("</record>");
         }
     
         out.print(buffer.toString());
         out.flush();
     
         return null
    }

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 39
    Par défaut
    Il te manque l'entête du fichier xml, et le conteneur général.

    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
     
     
    public ActionForward loadXmlData(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) {
     
         // Je commence par recuperer mes donnees sous la variables "liste"
         // Partie pour envoyer un fichier xml
         ServletOutputStream out = response.getOutputSteam();
         StringBuffer buffer = new StringBuffer();
         MonType temp = new MonType(); // type de mes donnees, POJO
     
         response.setHeader("Cache-Control","no-store");
         response.setHeader("Pragma","no-cache");
         response.setContentType("text/xml");
     
         //
         buffer.append("<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>");
         buffer.append("<data>");
         //
     
         buffer.append("<total>"+liste.size()+"</total>");
         for (int i = 0; i<liste.size(); i++) {
              temp = (MonType) liste.get(i);
              buffer.append("<record>");
              buffer.append("<monNom01>"+liste.getNom01()+"</monNom01>");
              // On fait de meme pour tous mes champs
              buffer.append("</record>");
         }
     
         //
         buffer.append("</data>");
         //
     
         out.print(buffer.toString());
         out.flush();
     
         return null
    }
    Je sais pas si c'est ça, mais là tu auras déjà un fichier xml bien formé.

  5. #5
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2010
    Messages
    394
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Avril 2010
    Messages : 394
    Par défaut
    Bien vu en effet.

    Par contre, le soucis ne vient pas de là...En fait, je viens de me rendre compte que la fonction n'était même pas appelée...J'ai donc déjà un problème avec l'URL (peut-être à cause de Struts d'ailleurs ?).

    Mako

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 39
    Par défaut
    Je connais pas du tout Struts.

    Essaye de mettre ta fonction de création d'xml dans une autre page (certainement adapter 2 3 trucs pour qu'elle tourne toute seule comme une grande) et d'appeler cette page ?

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

Discussions similaires

  1. XML : comment formaliser en balise une grille de données ?
    Par raton_laveur dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 11/09/2009, 14h35
  2. Balises HTML dans un fichier XML
    Par Bastet79 dans le forum XML/XSL et SOAP
    Réponses: 12
    Dernier message: 04/09/2002, 15h29
  3. delphi XML / HTML caractéres speciaux !
    Par adem dans le forum EDI
    Réponses: 2
    Dernier message: 29/08/2002, 17h48
  4. Débutant XML
    Par viny dans le forum XML/XSL et SOAP
    Réponses: 8
    Dernier message: 25/07/2002, 12h07
  5. Pas de casse dans les XML
    Par :GREG: dans le forum Composants VCL
    Réponses: 4
    Dernier message: 17/07/2002, 13h51

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