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

Format d'échange (XML, JSON...) Java Discussion :

Problème Encodage XML Java


Sujet :

Format d'échange (XML, JSON...) Java

  1. #1
    Membre averti
    Inscrit en
    Avril 2011
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Avril 2011
    Messages : 27
    Par défaut Problème Encodage XML Java
    Bonjour,

    Je me prête actuellement à l'exercice consistant à encoder en xml un objet en Java.

    Après avoir fait une classe permettant l'encodage et l'avoir appelée dans ma fonction principale, le fichier se génère à l’exécution mais Eclipse m'écrit plusieurs fois à la suite ce message dans la console :

    java.lang.reflect.InvocationTargetException
    Continuing ...

    D'où ceci peut-il provenir sachant qu’apparemment ça marche ?

    Merci d'avance.

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Citation Envoyé par kichnifou Voir le message
    D'où ceci peut-il provenir sachant qu’apparemment ça marche ?
    Exactement ce que dit la JavaDoc de cette Exception. Elle ne ment tout simplement pas.
    Tu appelles des méthodes par réflexion (je m'attendrais à ce que ce soit des getter de tes objets) et certains d'entre eux lancent des exceptions (ce qui est étonnant pour des getter,) ce qui est reflété par l'envoi d'une InvocationTargetException dont la cause est l'exception de départ. Nous n'allons pas deviner quelles sont ces exceptions de départ si tu ne nous montres pas ce que tu fais.

    Nous n'allons pas non plus deviner pourquoi ça "marche" quand même, mais j'imagine que ces InvocationTargetException sont catchées et n'arrêtent pas le traitement, ce qui permet donc de continuer jusqu'à la fin, gérant correctement toutes les méthodes qui, elles, n'ont pas généré d'exception. Ce qui permet d'obtenir quelque chose, mais possiblement pas tout.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre averti
    Inscrit en
    Avril 2011
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Avril 2011
    Messages : 27
    Par défaut
    Bonjour,

    Merci pour la réponse.
    Histoire de voir à quoi ça ressemble voici la classe qui me permet de sérialiser :

    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
    package fr.iut2.sil1.Game_Of_Troll.client.services;
     
    import java.beans.PersistenceDelegate;
    import java.beans.XMLEncoder;
    import java.io.FileOutputStream;
    import java.io.FileNotFoundException;
    import java.io.IOException;
     
    public final class XMLTools {
     
        private XMLTools() {}
     
        public static void encodeToFile(Object object, String fileName) throws FileNotFoundException, IOException {
            // ouverture de l'encodeur vers le fichier
            XMLEncoder encoder = new XMLEncoder(new FileOutputStream(fileName));
            try {
                // serialisation de l'objet
                encoder.writeObject(object);
                encoder.flush();
            } finally {
                // fermeture de l'encodeur
                encoder.close();
            }
        }
    }
    Ma class qui définit mon futur objet que je voudrais sérialiser :
    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
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    package fr.iut2.sil1.Game_Of_Troll.client.vues;
     
    import com.google.gwt.core.client.GWT;
    import com.google.gwt.uibinder.client.UiBinder;
    import com.google.gwt.user.client.rpc.IsSerializable;
    import com.google.gwt.user.client.ui.Composite;
    import com.google.gwt.user.client.ui.Widget;
     
    public class Troll extends Composite implements IsSerializable {
     
    	private static TrollUiBinder uiBinder = GWT.create(TrollUiBinder.class);
     
    	private String nom;
    	private String race;
    	private String competence1;
    	private String competence2;
    	private int attaque;
    	private int degats;
    	private int esquive;
    	private int regeneration;
    	private int point_de_vie;
     
    	interface TrollUiBinder extends UiBinder<Widget, Troll> {
    	}
     
    	public Troll(){
    	}
     
    	public Troll(String nom, String race, String competence1, String competence2, int attaque, int degats, int esquive, int regeneration, int point_de_vie){
    		this.nom = nom;
    		this.race = race;
    		this.competence1 = competence1;
    		this.competence2 = competence2;
    		this.attaque = attaque;
    		this.degats = degats;
    		this.esquive = esquive;
    		this.regeneration = regeneration;
    		this.point_de_vie = point_de_vie;
     
    		initWidget(uiBinder.createAndBindUi(this));
    	}
     
    	public String getNom() {
    		return nom;
    	}
     
    	public void setNom(String nom) {
    		this.nom = nom;
    	}
     
    	public String getRace() {
    		return race;
    	}
     
    	public void setRace(String race) {
    		this.race = race;
    	}
     
    	public String getCompetence1() {
    		return competence1;
    	}
     
    	public void setCompetence1(String competence1) {
    		this.competence1 = competence1;
    	}
     
    	public String getCompetence2() {
    		return competence2;
    	}
     
    	public void setCompetence2(String competence2) {
    		this.competence2 = competence2;
    	}
     
    	public int getAttaque() {
    		return attaque;
    	}
     
    	public void setAttaque(int attaque) {
    		this.attaque = attaque;
    	}
     
    	public int getDegats() {
    		return degats;
    	}
     
    	public void setDegats(int degats) {
    		this.degats = degats;
    	}
     
    	public int getEsquive() {
    		return esquive;
    	}
     
    	public void setEsquive(int esquive) {
    		this.esquive = esquive;
    	}
     
    	public int getRegeneration() {
    		return regeneration;
    	}
     
    	public void setRegeneration(int regeneration) {
    		this.regeneration = regeneration;
    	}
     
    	public int getPoint_de_vie() {
    		return point_de_vie;
    	}
     
    	public void setPoint_de_vie(int point_de_vie) {
    		this.point_de_vie = point_de_vie;
    	}
     
     
    }
    Et enfin ma classe qui va faire l'appel nécessaire à la sérialisation :
    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
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    package fr.iut2.sil1.Game_Of_Troll.client.vues;
     
    import com.google.gwt.core.client.GWT;
    import com.google.gwt.event.shared.HandlerManager;
    import com.google.gwt.uibinder.client.UiBinder;
    import com.google.gwt.uibinder.client.UiField;
    import com.google.gwt.user.client.ui.Composite;
    import com.google.gwt.user.client.ui.DeckPanel;
    import com.google.gwt.user.client.ui.HasWidgets;
    import com.google.gwt.user.client.ui.RootLayoutPanel;
    import com.google.gwt.user.client.ui.Widget;
     
    import fr.iut2.sil1.Game_Of_Troll.client.services.XMLTools;
     
    public class Racine extends Composite {
     
    	private static RacineUiBinder uiBinder = GWT.create(RacineUiBinder.class);
     
    	interface RacineUiBinder extends UiBinder<Widget, Racine> {
    	}
     
    	private static Racine SINGLETON;
     
    	@UiField
    	DeckPanel deckPanel;
     
    	@UiField
    	Edit_Troll Edit;
     
    	@UiField
    	Image_Troll Image;
     
    	@UiField
    	Liste_Troll Liste;
     
    	@UiField(provided=true)
    	ActionPanel actionPanel;
     
    	public Racine(HandlerManager eventBus) {
     
    		deckPanel = new DeckPanel();
    		actionPanel = new ActionPanel(eventBus);
     
    		Edit = new Edit_Troll();
    		Image = new Image_Troll();
    		Liste = new Liste_Troll();
     
    		deckPanel.add(Edit);
    		deckPanel.add(Image);
    		deckPanel.add(Liste);
     
    		initWidget(uiBinder.createAndBindUi(this));
     
    		deckPanel.showWidget(0);
     
    		try {
                Troll troll = new Troll("Kichnifou", "d", "e", "f", 8, 9, 10, 78, 1422);
                XMLTools.encodeToFile(troll, "troll.xml");
            } catch(Exception e) {
                e.printStackTrace();
            }
     
    		SINGLETON = this;
     
    		RootLayoutPanel.get().add(this);
    	}
     
    	public static Racine get(){
    		return SINGLETON;
    	}
     
    	public DeckPanel getDeckPanel() {
    		return deckPanel;
    	}
     
    	public void go(HasWidgets container){
    		container.clear();
    		container.add(this);
    	}
     
    }
    Tout n'est pas ici car j'utilise le model MVC et code en UiBinder. (Je suis en train d'apprendre).

    Ah oui et en plus du message suivant dans la console :
    java.lang.reflect.InvocationTargetException
    Continuing ...
    J'ai celui-ci aussi dans l'onglet development mode :
    15:44:45.618 [ERROR] [game_of_troll] Line 13: No source code is available for type java.io.FileNotFoundException; did you forget to inherit a required module?
    Au cas où je préfère préciser que c'est une Web Application.

  4. #4
    Membre averti
    Inscrit en
    Avril 2011
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Avril 2011
    Messages : 27
    Par défaut
    Je n'aime pas faire de double post, mais sincèrement personne ne peut m'aider ?

    En fait mes problèmes actuelles sont :
    - Génération d'un fichier xml avec caractéristiques d'un objet, mais seulement UN seul objet (si je tente d'en créer plusieurs, je n'en n'ai qu'un seul dans mon fichier) + affichage des messages précédents sous Eclipse.
    - Impossibilité de Décoder mon fichier xml

    J'aurai réellement besoin d'une réponse, c'est pour un projet qui est vraiment sympa en plus mais que je ne peux du coup pas avancer.
    Merci.

  5. #5
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Salut,



    Tu tentes de sauvegarder un objet graphique, qui plus est spécifique à GWT (et donc ce n'est pas du Java "pure" mais du code destiné à être transformé en JavaScript).
    Je pense qu'il y a dans le lot des méthodes "native" implémenté seulement en JavaScript (ce qui ne pourra pas marcher en Java standard).

    XMLEncoder va appeler chaque getter de la classe afin de récupérer la valeur associé... et ça doit merder grave !

    En règle général on évites de sérialisé des objets graphiques, mais uniquement des objets POJO contenant uniquement les valeurs.



    Au passage tu tentes de faire cela où ? Coté serveur ou coté client ?
    Parce que je doute que tu puisses utiliser cela coté client...


    a++

  6. #6
    Membre averti
    Inscrit en
    Avril 2011
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Avril 2011
    Messages : 27
    Par défaut
    Tu tentes de sauvegarder un objet graphique, qui plus est spécifique à GWT (et donc ce n'est pas du Java "pure" mais du code destiné à être transformé en JavaScript).
    Notre professeur nous a dit de faire comme cela, et que GWT se chargeait lui-même de retranscrire le code en Javascript.

    En règle général on évites de sérialisé des objets graphiques, mais uniquement des objets POJO contenant uniquement les valeurs.
    L'un des + pour le projet est de sérialiser nos objets en xml, donc je veux le faire.

    Au passage tu tentes de faire cela où ? Coté serveur ou coté client ?
    Parce que je doute que tu puisses utiliser cela coté client...
    Ah, je ne savais pas que le faire coté client pouvais le faire buguer, du coup je vais le faire coté serveur !
    Par contre attend toi surement à avoir des questions, je n'ai découvert que cette année la relation client-serveur en java, et je n'ai pas encore bien tout assimilé.

    Je vais donc déjà tenter de faire ça coté serveur, merci !
    Si tu as des précisions à m'apporter, elles sont les bienvenues.

  7. #7
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par kichnifou Voir le message
    Notre professeur nous a dit de faire comme cela, et que GWT se chargeait lui-même de retranscrire le code en Javascript.
    Sauf que le JavaScript (et le navigateur) implique beaucoup de limitation.
    Seule une petite partie de l'API Java peut être converti en JavaScript, et les classes XMLEncoder/XMLDecoder n'en font pas parti.

    Plus d'info : http://www.gwtproject.org/doc/latest...Emulation.html


    [edit] Plus globalement toutes les classes du package com.google.gwt.user.client (comme Composite) sont destinées à être utilisé sur le navigateur. Cela ne fonctionnera pas coté client. Cela ne fonctionnera pas coté serveur !
    Il vaudrait mieux que tu demandes plus de détail à ton prof...


    a++

  8. #8
    Membre averti
    Inscrit en
    Avril 2011
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Avril 2011
    Messages : 27
    Par défaut
    Mais alors, comment je dois faire ?

  9. #9
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    La bonne question serait d'abord : qu'est-ce que tu dois faire ?

    Que dois-tu sérialiser ? Le fait de sérialiser un composant graphique risque de poser des soucis (et cela n'apporte aucun intérêt supplémentaire).
    Où dois-tu faire la sérialisation ? Coté client ou coté serveur.
    Où dois-tu faire la désérialisation ?

    Et surtout dans quel but ?

    a++

  10. #10
    Membre averti
    Inscrit en
    Avril 2011
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Avril 2011
    Messages : 27
    Par défaut
    Que dois-tu sérialiser ?
    Un objet "Troll" sous forme xml, qui contiendra des caractéristique comme sa race, ses compétence, son nb d'attaque, de de défense, etc.

    Où dois-tu faire la sérialisation ?
    Où dois-tu faire la désérialisation ?
    On doit le faire en échangeant les données entre client et serveur.

    Et surtout dans quel but ?
    Pour avoir une bonne note :p

  11. #11
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par kichnifou Voir le message
    Un objet "Troll" sous forme xml, qui contiendra des caractéristique comme sa race, ses compétence, son nb d'attaque, de de défense, etc.
    Donc pas besoin de sauvegarder tout ce qui est lié à l'état du composant (isVisible(), isAttached(), getTitle(), ...)

    on en revient au même point : la classe Troll devrait être un POJO.



    Citation Envoyé par kichnifou Voir le message
    On doit le faire en échangeant les données entre client et serveur.
    Ca c'est la réponse à la dernière question.
    Dans quel sens doit se faire la sérialisation ?
    Où tu encodes et où tu décodes ?


    Je n'ai jamais fait de XML avec GWT, mais Google me renvoi vers ceci pour le coté client : http://www.gwtproject.org/doc/latest...BasicsXML.html
    Mais cela ne m'étonnerait pas que tu doivent utiliser une autre API coté serveur...


    a++

  12. #12
    Membre averti
    Inscrit en
    Avril 2011
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Avril 2011
    Messages : 27
    Par défaut
    La classe Troll devrait être un POJO.
    POJO ? Je ne vois pas ce que c'est, mais me renseignerai.

    Ca c'est la réponse à la dernière question.
    Dans quel sens doit se faire la sérialisation ?
    Où tu encodes et où tu décodes ?
    Hum, en fait, d'après ce que j'ai compris, le serveur possède toutes les données, et c'est le client qui les demande.

    Sauf que je ne sais pas trop encore comment ça marche. Je crois qu'il faut que les fichiers xml doivent être sauvegardés sur le serveur.

    Du coup... c'est assez flou dans ma tête : Le client doit-il demander le fichier xml, et le décoder lui-même, ou bien le serveur le décode et envoie les données au client.

    Comment ce genre de chose est faite dans un système classique réel ?

  13. #13
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par kichnifou Voir le message
    POJO ? Je ne vois pas ce que c'est, mais me renseignerai.
    POJO = Plain Old Java Object
    C'est simplement une classe java contenant uniquement des attributs et des beans, sans logique métier ou composant graphique.
    Bref une classe avec des attributs, des getters et des setters...

    Cela permet de s'échanger des données facilement.
    Ce que tu ne peux pas faire en étendant de Composite car ce dernier est lié à la vue du client.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    public class Troll implements Serializable {
        private String nom;
        ...
     
        public String getNom() {
            return this.nom;
        }
     
        public void setNom(String nom) {
            this.nom = nom;
        }
        ...
    ]

    Ton composant graphique UIBinder utilisera alors cet objet POJO pour afficher ses données...


    Citation Envoyé par kichnifou Voir le message
    Hum, en fait, d'après ce que j'ai compris, le serveur possède toutes les données, et c'est le client qui les demande.
    Donc le serveur encode, et le client décode les données.
    Par contre comme je l'ai dit je doute que tu puisses utiliser la même API des deux cotés.


    Citation Envoyé par kichnifou Voir le message
    Sauf que je ne sais pas trop encore comment ça marche. Je crois qu'il faut que les fichiers xml doivent être sauvegardés sur le serveur.

    Du coup... c'est assez flou dans ma tête : Le client doit-il demander le fichier xml, et le décoder lui-même, ou bien le serveur le décode et envoie les données au client.
    Heu... J'ai du mal à comprendre pourquoi ce serait au serveur de décoder les données.
    Franchement c'est pas clair du tout.


    Citation Envoyé par kichnifou Voir le message
    Comment ce genre de chose est faite dans un système classique réel ?
    Le serveur dispose d'une ou plusieurs URL qui retournent des données dans un certains format (XML, JSON, CSV, ...). Généralement ces données sont encodés à la volée...
    Le client interroge une de ces URLs via une requête AJAX, et récupère donc les données qu'il va décoder afin de pouvoir les manipuler et les afficher comme bon lui semble.



    a++

  14. #14
    Membre averti
    Inscrit en
    Avril 2011
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Avril 2011
    Messages : 27
    Par défaut
    Bonjour,

    Merci bien, mais je crois que je vais pouvoir continuer comme j'ai commencé.
    En effet, j'ai questionné mon professeur, et voici sa réponse :

    XMLEncoder et XMLDecoder fonctionnent parfaitement. C'est logique que le client ait des limitations. L'enregistrement dans un ficher XML de tes données est à faire coté server !. Le client ne recevra que les objets à traiter.

    Sur le serveur, enregistrement (objet -> XML : encodage) des données sous forme XML et chargement des données sous forme objet (XML -> objet : décodage)
    Sur le client, réception des objet pour visualisation ou édition.
    Du coup si je comprend bien, l'encodage et décodage est à faire coté serveur, et je peux continuer à utiliser XMLEncodeur/Decodeur.

  15. #15
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par kichnifou Voir le message
    Merci bien, mais je crois que je vais pouvoir continuer comme j'ai commencé.
    En effet, j'ai questionné mon professeur, et voici sa réponse :
    Donc tout ceci est à faire coté serveur et non pas coté client comme tu le laissais entendre au début


    Citation Envoyé par kichnifou Voir le message
    Du coup si je comprend bien, l'encodage et décodage est à faire coté serveur, et je peux continuer à utiliser XMLEncodeur/Decodeur.
    Oui il n'y a aucune limitation sur l'API Java coté serveur...
    Mais par contre tu ne pourras pas y avoir d'objet Composite qui sont spécifique à GWT coté-client.


    a++

  16. #16
    Membre averti
    Inscrit en
    Avril 2011
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Avril 2011
    Messages : 27
    Par défaut
    Donc tout ceci est à faire coté serveur et non pas coté client comme tu le laissais entendre au début
    Ok parfait !
    Du coup si je comprend bien le schema est le suivant :
    Quand Le client envoi l'objet au serveur, celui-ci l'encode en fichier xml
    Quand le client demande l'objet au serveur, celui-ci le décode et l'envoi au client

    Oui il n'y a aucune limitation sur l'API Java coté serveur...
    Mais par contre tu ne pourras pas y avoir d'objet Composite qui sont spécifique à GWT coté-client.
    C'est à dire ? Je dois modifier quelque chose par rapport à mon mode de fonctionnement actuel ?
    Que dois-je éviter de faire ? Ou que dois-je faire ?

Discussions similaires

  1. Problème Encodage xml
    Par napoleon59 dans le forum Général Python
    Réponses: 7
    Dernier message: 22/05/2014, 19h20
  2. [XSLT] Problème Oracle XML Java Parser
    Par pjmorce dans le forum Format d'échange (XML, JSON...)
    Réponses: 4
    Dernier message: 04/06/2010, 07h33
  3. SQL Server : Problème encodage XML
    Par alex_vino dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 31/03/2010, 09h31
  4. Problème Encodage XML
    Par HaPouu dans le forum Silverlight
    Réponses: 2
    Dernier message: 20/10/2009, 16h47
  5. [XML] Gros problème encodage XML
    Par k2006 dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 15/07/2008, 18h23

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