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

Struts 1 Java Discussion :

[JDOM et Struts incompatible?] pb de signature


Sujet :

Struts 1 Java

Vue hybride

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

    Informations forums :
    Inscription : Décembre 2005
    Messages : 157
    Par défaut [JDOM et Struts incompatible?] pb de signature
    Bonjour à tous je débute sous struts et je n'arrive pas à enregistrer les données saisies par un utilisateur par le biais de ma jsp dans un fichier xml
    j'aimerais que lorsque mon form est remplie et que l'utilisateur clic sur submit
    mon formaction appelle une classe exécutant une méthode qui met à jour mon fichier xml, utilisant mon bean de formulaire pour récupérer les données. Cependant j'ai toujours la même erreur lorsque j'instancie ma classe dans le formaction :

    Error 500: (class: sentinelle/configxml/AjoutServerXml, method: ajoutServer signature: (Lorg/jdom/DocumentV) Incompatible argument to method
    Voici mon formaction :

    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
     
    package sentinelle.appli;
     
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
     
    import org.apache.struts.action.Action;
    import org.apache.struts.action.ActionForm;
    import org.apache.struts.action.ActionForward;
    import org.apache.struts.action.ActionMapping;
    import org.jdom.Element;
     
    import sentinelle.configxml.AjoutServerXml;
     
     
    public class FormActionXml extends Action{
     
    	static Element racine;
    	static org.jdom.Document document;
     
    	public ActionForward execute(ActionMapping mapping, ActionForm _form, HttpServletRequest request, HttpServletResponse response) {
     
    				ActionForward retour = null;
    				AjoutServerXml ajoutServerXml = new AjoutServerXml();				
     
     
    				try{
     
    					if(!formServeur.getUser().equals("")){
    						//ajoutServerXml.buildListeServer();		   
    						retour = mapping.findForward("lecture");
    					}
    					else{
    						retour = mapping.findForward("erreur");
    					}
     
    				}
    				catch (Exception e) {
    					e.printStackTrace();
    					retour = mapping.findForward("erreur");
    				}							
    				return retour;
    		}	
    }
    et ma classe
    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
     
    package sentinelle.configxml;
    import java.io.File;
    import java.io.FileOutputStream;
    import java.util.Iterator;
    import java.util.List;
     
    import org.jdom.Attribute;
    import org.jdom.Document;
    import org.jdom.Element;
    import org.jdom.input.SAXBuilder;
    import org.jdom.output.Format;
    import org.jdom.output.XMLOutputter;
     
    import sentinelle.appli.FormServeur;
     
    public class AjoutServerXml {
     
    	static Element racine;
    	static org.jdom.Document document;
     
    	public void buildListeServer()
    	{
     
    	SAXBuilder sxb = new SAXBuilder();
    		try
    		{
    	 	document = sxb.build(new File("D:\\WSAD\\ServerParameterXML.xml"));	
     
    	 	}
    	  	catch(Exception e)
    		{		
    		System.out.println("Fichier non trouver : " + e);				   
    		}
    	  	racine = document.getRootElement();
    		ajoutServer(document);	   	
    		}
     
    	public void ajoutServer(Document doc)
    	{
    	 FormServeur formServeur = new FormServeur();	
     
    	 Element requete = new Element("requete");
    	 racine.addContent(requete);
     
    	 Attribute serveur = new Attribute("serveur",formServeur.getServerNom());
    	 requete.setAttribute(serveur);
     
    	 /*-------------URL---------------------------*/
    	 Element urls = new Element("urls");
     
    	 Element url = new Element("url");
    	 Attribute adresse = new Attribute("adresse",formServeur.getUrlNom());
    	 url.setAttribute(adresse);
    	 url.setText(formServeur.getAdresseHttp());
    	 urls.addContent(url);
     
    	 requete.addContent(urls);
     
    	 /*-------------database---------------------*/
    	 Element database = new Element("database");
    	 Attribute type = new Attribute("type",formServeur.getTypeDatabase());
    	 database.setAttribute(type);
     
    	 Element driver = new Element("driver");
    	 driver.setText(formServeur.getDriver());
    	 database.addContent(driver);
     
    	 Element adresseServer = new Element("adresse");
    	 adresseServer.setText(formServeur.getAdresseServer());
    	 database.addContent(adresseServer);
     
    	 Element hostname = new Element("hostname");
    	 driver.setText(formServeur.getDriver());
    	 database.addContent(hostname);
     
     
    	 requete.addContent(database);
    	 enregistre("D:\\WSAD\\ServerParameterXML.xml");
     
    	}
     
    	static void enregistre(String fichier)
    	{
    	   try
    	   {	  
    		  XMLOutputter sortie = new XMLOutputter(Format.getPrettyFormat());
    		  sortie.output(document, new FileOutputStream(fichier));
    	   }
    	   catch (java.io.IOException e){}
    	}
     
    }

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    157
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 157
    Par défaut
    J'ai rajouté le jdom.jar dans le web-inf alors qu'il est déja dans le projet. Et si je ne le rajoute pas, au lieu du problème de signature j'ai un message d'erreur comme quoi une classe de jdom est manquante

  3. #3
    Membre émérite
    Profil pro
    Développeur Back-End
    Inscrit en
    Avril 2003
    Messages
    782
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Back-End

    Informations forums :
    Inscription : Avril 2003
    Messages : 782
    Par défaut
    est-ce que c'est le même jar qui est dans le project et le repertoire WEB-INF/lib ?

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    157
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 157
    Par défaut
    oui c'est bien le meme jar, j'ai fais des recherches sur google et j'ai pu voir que plusieurs personnes avaient eu ce problème du fait qu'ils avaient deux version de jdom differentes ce qui n'est pas mon cas à priori. Sinon une personne semble avoir réussi à évité ce conflit en changeant le jar xerces.jar avec xercesImpl.jar, ce que je me suis empressé de faire mais cela me génère moultes erreurs

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    157
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 157
    Par défaut
    Bon rien n'y fais il s'avère en fait que la méthode addContent propre à jdom entraîne l'erreur car si je l'enlève l'erreur n'est plus mais mon fichier xml n'est pas mis à jour

Discussions similaires

  1. Problème avec Struts 2 et XML / JDOM / DOM
    Par fruwen7 dans le forum Struts 2
    Réponses: 0
    Dernier message: 17/07/2012, 16h14
  2. Réponses: 2
    Dernier message: 10/06/2010, 14h08
  3. [STRUTS] utilisation de plusieurs tags <html:subm
    Par Super Castor dans le forum Struts 1
    Réponses: 6
    Dernier message: 23/06/2004, 11h42
  4. [struts] utiliser plusieurs fichiers properties
    Par jaimepasteevy dans le forum Struts 1
    Réponses: 7
    Dernier message: 03/10/2003, 17h02
  5. [debutant][struts] xml.build
    Par riven dans le forum Eclipse Java
    Réponses: 5
    Dernier message: 17/09/2003, 06h53

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