Bonjour,
je veux créer un fichier xml a partir d'un formulaire jsp en utilisant struts2
voila le formulaire :
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 <%@ page contentType="text/html; charset=UTF-8"%> <%@ taglib prefix="s" uri="/struts-tags"%> <html> <head> <title>Customer Form - Struts2 Demo | ViralPatel.net</title> </head> <body> <h2>Formulaire d'ajout de Document</h2> <s:form action="document.action" method="post" validate="true"> <s:textfield name="titre" key="titre" size="20" /> <s:textfield name="type" key="type" size="20" /> <s:textfield name="format" key="format" size="20" /> <s:textfield name="createur" key="createur" size="20" /> <s:textfield name="dateCreation" key="dateCreation" size="20" /> <s:submit method="addDocument" value="Ajouter un Document" key="label.add.document" align="center" /> </s:form> </body> </html>
voila la classe action de ce formulaire :
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
117
118 package beanAction; import java.io.FileOutputStream; import java.io.IOException; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.ParserConfigurationException; import javax.xml.transform.OutputKeys; import javax.xml.transform.Transformer; import javax.xml.transform.TransformerConfigurationException; import javax.xml.transform.TransformerException; import javax.xml.transform.TransformerFactory; import javax.xml.transform.dom.DOMSource; import javax.xml.transform.stream.StreamResult; import org.jdom.Document; import org.jdom.Element; import org.jdom.output.Format; import org.jdom.output.XMLOutputter; import org.w3c.dom.Node; import com.opensymphony.xwork2.ActionSupport; public class DocumentAction extends ActionSupport{ private static final long serialVersionUID = 1L; private String titre; private Integer type; private String format; private String createur; private String dateCreateur; static Document document; static Element racine; public String getTitre() { return titre; } public void setTitre(String titre) { this.titre = titre; } public Integer getType() { return type; } public void setType(Integer type) { this.type = type; } public String getFormat() { return format; } public void setFormat(String format) { this.format = format; } public String getCreateur() { return createur; } public void setCreateur(String createur) { this.createur = createur; } public String getDateCreateur() { return dateCreateur; } public void setDateCreateur(String dateCreateur) { this.dateCreateur = dateCreateur; } public String addDocument() { //Nous allons commencer notre arborescence en créant la racine XML //qui sera ici "personnes". Element racine = new Element("document"); //On crée un nouveau Document JDOM basé sur la racine que l'on vient de créer document = new Document(racine); Element titre = new Element("Titre"); racine.addContent(titre); Element type= new Element("Type"); racine.addContent(type); Element format = new Element("Format"); racine.addContent(format); Element createur= new Element("Createur"); racine.addContent(createur); Element dateCreation = new Element("DateCreation"); racine.addContent(dateCreation ); try { //On utilise ici un affichage classique avec getPrettyFormat() XMLOutputter sortie = new XMLOutputter(Format.getPrettyFormat()); //Remarquez qu'il suffit simplement de créer une instance de FileOutputStream //avec en argument le nom du fichier pour effectuer la sérialisation. sortie.output(document, new FileOutputStream("ressources/document.xml")); } catch (java.io.IOException e){} return SUCCESS; } }
dans la methode addDocument j'ai mis le code de l'api jdom qui permet de créer un fichier xml dans la source (ressources/document.xml)
le fichier xml que je souhaite créer doit etre comme ce ci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 <document> <Titre></Titre> <Type></Type> <Format></Format> <Createur></Createur> <DateCreation></DateCreation> </document>
quand j'execute avec tomcat ,après je rempli le formulaire et je clique sur addDocument il m'affiche l'erreur suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 type Rapport d'état message description La ressource demandée () n'est pas disponible.
Partager