la classe de JDOM 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
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-
 
	////////////////////////////////////////////////////////////////////////////////////////////
 
}
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
 
/*
 * 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"); 
	}
}
lerreur est la suivante:
une partie:
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)
voilà!