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){}
	}
 
}