la classe de JDOM est la suivante:
la classe action Struts:
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 package com.yourcompany.JDOMXmlManager; import java.util.*; import java.util.Collection; import java.io.*; import java.io.*; import org.jdom.*; import org.jdom.output.XMLOutputter; import org.jdom.output.Format; public class JDOMFirstClass { //simple class de test //later cette classe aura une méthode qui appel lobjet bean de la page jsp et extrait le fichier //XML! check conception later, better way private Collection objectToBeExtracted; public JDOMFirstClass() { super(); // TODO Auto-generated constructor stub } public void testFunction() { //On crée un nouvelle Element etudiant et on l'ajoute //en temps qu'Element de racine ////// /les element statiques pour définir les noms des balises... //Nous allons commencer notre arborescence en créant la racine XML //qui sera ici "personnes". final Element racine = new Element("personnes"); //On crée un nouveau Document JDOM basé sur la racine que l'on vient de créer final org.jdom.Document document = new Document(racine); Element etudiant = new Element("etudiant"); racine.addContent(etudiant); //On crée un nouvelle Attribut classe et on l'ajoute à etudiant //grâce à la méthode setAttribute Attribute classe = new Attribute("classe","P2"); etudiant.setAttribute(classe); //On crée un nouvelle Element nom, on lui assigne du text //et on l'ajoute en temps qu'Element de etudiant Element nom = new Element("nom"); nom.setText("CynO"); etudiant.addContent(nom); //Les deux appels qui suivent seront définis dans la partie 2.3. //affiche(); //enregistre("Exercice 1.xml"); ; } //les deux méthodes affiche et enregistre ICI to reput //////////////////////////////////////////////////////////////////////////////////////////// // Ajouter ces deux méthodes à notre class JDOM //once test Ok, cette partie à améliorer le maximum //selon les besoins du stockage .. //once OK: //1- bien gérer lextraction (comme la présence ou non des éléments doit etre gérée niveau Struts) //2- //////////////////////////////////////////////////////////////////////////////////////////// }
lerreur est la suivante:
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 /* * Generated by MyEclipse Struts * Template path: templates/java/JavaClass.vtl */ package com.yourcompany.struts.action; 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 com.yourcompany.struts.form.XMLExtractionForm; import com.yourcompany.JDOMXmlManager.JDOMFirstClass; /** * MyEclipse Struts * Creation date: 09-12-2007 * * XDoclet definition: * @struts.action path="/userLogin" name="userLoginForm" input="/userLogin.jsp" scope="request" validate="true" * @struts.action-forward name="success" path="/userLoginSuccess.jsp" */ //Problem within this action when <html:link action=/userLogin.do> avec userLogin le path //défini comme précisé ci-dessus pour cette action public class XMLExtractionAction extends Action { public XMLExtractionAction() { super(); } public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) { //commencer la sérialisation en XML XMLExtractionForm xmlExtractionForm = (XMLExtractionForm) form; JDOMFirstClass test = new JDOMFirstClass(); //later we have to add classes to serialize the object en XML //refaire ce controle si necessaire // // test mon login et mdp // if( (userLoginForm.getUserName() != null) && (userLoginForm.getPassword() != null) ) // { // if(userLoginForm.getUserName().equals("myeclipse") && userLoginForm.getPassword().equals("myeclipse")) // { // request.setAttribute("userName", userLoginForm.getUserName()); // return mapping.findForward("success"); // } // } /////// tester ici le petit exemple d'extraction XML//// test.testFunction(); return mapping.findForward("success"); //return mapping.findForward("failure"); } }
une partie:
voilà!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 java.lang.NoClassDefFoundError: org/jdom/Content at com.yourcompany.struts.action.XMLExtractionAction.execute(XMLExtractionAction.java:39) at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484) at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274) at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482) at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:507) at javax.servlet.http.HttpServlet.service(HttpServlet.java:697) at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
Partager