Bonjour,

Je fais actuellement le tutorial réalisé par Serge Tahé sur Struts afin de comprendre comment ca fonctionne et je rencontre un problème sur la fin de ce tutorial.
En effet, il propose d'effectuer un acces à une base de données. Cependant, j'ai un problème sur une des fonctions : getDataSource() qui n'est pas reconnu.
Eclipse ne trouve pas cette méthode qui est pourtant défini dans org.apache.struts.action.Action
Lorsque je regarde la doc je suis ok avec le code.
Je pense que Eclipse ne doit pas trouver le bon jar peut etre. Je ne sais pas trop et je ne trouve pas ou localiser le problème et comment le corriger. Quelqu'un peut m'aider?

Voici le code:
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
 
package bdd;
 
import java.io.IOException;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.ArrayList;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.sql.DataSource;
import org.apache.struts.action.*;
 
 
 
public class ConnectionDB extends Action{
 
	@SuppressWarnings("unchecked")
	public ActionForward execute(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response)
			throws IOException, ServletException {
 
			// lit le contenu de la table articles d'une connexion
			// réalisée à l'init du contexte
			// on récupère a source de données dbarticles
			DataSource dataSource = this.getDataSource(request, "nomBDD");
			if (dataSource == null) {
				// la source de données n'a pas pu être créée
				ActionErrors erreurs = new ActionErrors();
				erreurs.add("dbarticles", new ActionMessage("erreur.dbarticles",
				"La source de données n'a pu être créée"));
				this.saveErrors(request, erreurs);
				return mapping.findForward("afficherErreurs");
			}
			// ici la source de données existe - on l'exploite
			Connection connexion = null;
			Statement st = null;
			ResultSet rs = null;
			String requête = null;
			ArrayList alArticles = new ArrayList();
			// on gère les erreurs
			try {
				// obtenir une connexion
				connexion = dataSource.getConnection();
				// préparer la requête SQL
				requête = "select code, nom, prix, stockActuel, stockMinimum from articles order by nom";
				// l'exécuter
				st = connexion.createStatement();
				rs = st.executeQuery(requête);
				// exploiter les résultats
				while (rs.next()) {
					// enregistrer la ligne courante
					alArticles.add(new String[] { rs.getString("code"),
					rs.getString("nom"), rs.getString("prix"),
					rs.getString("stockactuel"), rs.getString("stockMinimum") });
					// ligne suivante
				} //while
				// libérer les ressources
				rs.close();
				st.close();
			} catch (Exception ex) {
				// des erreurs se sont produites
				ActionErrors erreurs = new ActionErrors();
				erreurs.add("dbarticles", new ActionMessage("erreur.dbarticles"));
				this.saveErrors(request, erreurs);
				return mapping.findForward("afficherErreurs");
			} finally {
				// on libère la connexion
				try {
					connexion.close();
				} catch (Exception ignored) {
				}
			}
			// c'est bon
			request.setAttribute("listArticles", alArticles);
			return mapping.findForward("afficherListeArticles");
	} //fin fonction execute	
}

Merci d'avance