IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Développement Web en Java Discussion :

Accès base de données SGBD erreur.


Sujet :

Développement Web en Java

  1. #1
    Membre habitué
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2012
    Messages
    277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2012
    Messages : 277
    Points : 126
    Points
    126
    Par défaut Accès base de données SGBD erreur.
    Bonjour,

    J'aimerais charger le contenu d'un menu déroulant à partir d'une requête SELECT. J'utilise le modele DAO , et la librairie JSTL.

    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
    public List<Articles> chargementListArticlesFamille()
    			throws DAOException {
     
     
    		// TODO Auto-generated method stub
    		// Implémentation de la méthode définie dans l'interface ArticleDao 
     
     
    		Connection connexion = null;
    		PreparedStatement preparedStatement = null;
    		ResultSet resultSet = null;
    		Articles article = null;
     
    		Statement statement = null;
     
    		try {
    			// Récupération d'une connexion depuis la Factory 
    			connexion = daoFactory.getConnection();
    			System.out.println("execution de la requete SQL !");
    			System.out.println("Requete :"+SQL_SELECT_PAR_FAMILLE);
    			preparedStatement = initialisationRequetePreparee( connexion, SQL_SELECT_PAR_FAMILLE, false );
    			statement = connexion.createStatement();
     
     
    			resultSet = preparedStatement.executeQuery();
    			// Parcours de la ligne de données de l'éventuel ResulSet retourné 
    			articlesFam.clear();
     
     
    			while ( resultSet.next() ) {
    				//Voir probleme resultSet pour recherche Famille
    				article = map( resultSet );
    				articlesFam.add(article);
    			}
     
     
    		} catch ( SQLException e ) {
    			System.out.println("erreur dans la requete !");
    			System.out.println("erreur"+e.getMessage());
    			throw new DAOException( e );
     
    		} finally {
    			System.out.println("fermeture de la connection !");
    			fermeturesSilencieuses( resultSet, preparedStatement, connexion );
    		}
    		return articles;
     
    	}
    Lorsque que j'execute ma requete qui est :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    private static final String SQL_SELECT_PAR_FAMILLE = "SELECT DISTINCT A.A1FAM FROM PGVMARTM A";
    J'obtiens ce message d'erreur :

    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
    Requete :SELECT DISTINCT A.A1FAM FROM PGVMARTM A
    erreur dans la requete !
    erreurAn undefined column name was detected.
    fermeture de la connection !
    5 avr. 2013 13:53:28 org.apache.catalina.core.StandardWrapperValve invoke
    GRAVE: "Servlet.service()" pour la servlet AfficheArticles a généré une exception
    org.omega.dao.DAOException: java.sql.SQLException: An undefined column name was detected.
    	at org.omega.dao.ArticleDaoImpl.chargementListArticlesFamille(ArticleDaoImpl.java:184)
    	at org.omega.forms.RechercheArticleForm.rechercheListArticleFamille(RechercheArticleForm.java:48)
    	at org.omega.servlets.AfficheArticles.doGet(AfficheArticles.java:46)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
    	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
    	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
    	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
    	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
    	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:929)
    	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
    	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
    	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1002)
    	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:585)
    	at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)
    	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1146)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    	at java.lang.Thread.run(Thread.java:679)
    Caused by: java.sql.SQLException: An undefined column name was detected.
    	at com.ibm.as400.access.JDError.throwSQLException(JDError.java:408)
    	at com.ibm.as400.access.JDError.throwSQLException(JDError.java:380)
    	at com.ibm.as400.access.JDServerRow.findField(JDServerRow.java:482)
    	at com.ibm.as400.access.AS400JDBCResultSet.findColumn(AS400JDBCResultSet.java:557)
    	at com.ibm.as400.access.AS400JDBCResultSet.getString(AS400JDBCResultSet.java:3394)
    	at org.omega.dao.ArticleDaoImpl.map(ArticleDaoImpl.java:32)
    	at org.omega.dao.ArticleDaoImpl.chargementListArticlesFamille(ArticleDaoImpl.java:176)
    	... 20 more
    Pouvez vous me dire d'où cela proviens, je prècise que je n'ai jusqu'à mettre le RESULTSET en commentaire pour ne plus avoir d'erreur mais evidemment je n'ai rien en resultat de ma requete...

    Merci d'avance.

  2. #2
    Membre actif
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2011
    Messages
    196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2011
    Messages : 196
    Points : 242
    Points
    242
    Par défaut
    l'erreur doit sûrement venir au niveau du mapping du resultSet en article ! Vérifie que les noms de colonnes soient les bons, peux-tu nous montrer le code de ta fonction map() !

  3. #3
    Membre habitué
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2012
    Messages
    277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2012
    Messages : 277
    Points : 126
    Points
    126
    Par défaut
    En effet tu as sans doute raison car :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    while ( resultSet.next() ) {
    				//Voir probleme resultSet pour recherche Famille
    				//article = map( resultSet );
     
    			            System.out.printf("%-20s", //
    			                    resultSet.getString(1));
     
    				articlesFam.add(article);
    			}
    Me renvoie bien en console, le contenu de ma table.

    Voici le contenu de ma methode Map :

    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
    	private static Articles map( ResultSet resultSet ) throws SQLException {
    		Articles article = new Articles();
    		article.setNumArticle(resultSet.getString("A1ART"));//("A1ART")); // Affectation base => article
    		article.setLibelleArticle(resultSet.getString("A1LIB")); //( "A1LIB" ) ); // idem
    		article.setLibelleArticle1(resultSet.getString("A1LB1"));//idem
    		article.setLibelleArticle2(resultSet.getString("A1LB2"));//idem
    		article.setLibelleArticle3(resultSet.getString("A1LB3"));// idem
     
    		//voir probleme pour famille.
    		//article.setNumFamille(resultSet.getString(8));
     
     
    		System.out.println("article trouvé : "+article.getNumArticle());
    		System.out.println("article libellé : "+article.getLibelleArticle());
    		System.out.println("article complément 1 :"+article.getLibelleArticle1());
    		System.out.println("article complément 2 :"+article.getLibelleArticle2());
    		System.out.println("article complément 3 :"+article.getLibelleArticle3());
     
    		System.out.println("article famille : "+article.getNumFamille());
    		return article;
    	}

  4. #4
    Membre actif
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2011
    Messages
    196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2011
    Messages : 196
    Points : 242
    Points
    242
    Par défaut
    ben maintenant vérifie que les noms de colonnes soient corrects pour tous les
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    resultSet.getString("")
    Au pire dé-commente ligne par ligne et tu verras laquelle te pose problème.

    ça peut également venir de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    article.setNumArticle(resultSet.getString("A1ART"));
    car à mon avis tu doit convertir
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    resultSet.getString("A1ART")
    en Long où Integer pour qu'il soit bien affecté à ton numéro d'article !!

  5. #5
    Membre habitué
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2012
    Messages
    277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2012
    Messages : 277
    Points : 126
    Points
    126
    Par défaut
    Est ce que ça ne peut pas venir du fait que j'utilise ma methode map pour resoudre 2 requetes SQL ? Car si je commente tout de cette maniere sauf un :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    private static Articles map( ResultSet resultSet ) throws SQLException {
    		Articles article = new Articles();
    	//	article.setNumArticle(resultSet.getString("A1ART"));//("A1ART")); // Affectation base => article
    	//	article.setLibelleArticle(resultSet.getString("A1LIB")); //( "A1LIB" ) ); // idem
    	//	article.setLibelleArticle1(resultSet.getString("A1LB1"));//idem
    	//	article.setLibelleArticle2(resultSet.getString("A1LB2"));//idem
    	//	article.setLibelleArticle3(resultSet.getString("A1LB3"));// idem
     
    		//voir probleme pour famille.
    		article.setNumFamille(resultSet.getString(1));
    Cela passe j'ai bien le contenu de ma table qui est récupéré dans l'article.
    par contre si je décommente les autres en meme temps, j'ai l'erreur.
    En fait j'appel ma methode map(ResultSet resultSet) pour chacune de mes requêtes.
    Select A.CHAMP1, A.CHAMP2 From table WHERE ? ;
    donc j'ai ca dans deux prepareStatements. ( Selon que je recherche un article par code ou par libellé).

  6. #6
    Membre habitué
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2012
    Messages
    277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2012
    Messages : 277
    Points : 126
    Points
    126
    Par défaut
    D'après toi, est ce que je peux utiliser ma methode Map(ResultSet) pour traiter plusieurs requête SQL. Et j'ai vérifier les correspondances, le truc c'est que j'ai commencé par des requêtes faisant intervenir celle que j'ai commentés plus haut, avant ma recherche par famille. Et celle-ci fonctionnaient, mais c'est dès que je rajoute le traitement pour rechercher par famille et charger mon menu déroulant...

    Je comprends pas ... :'(

  7. #7
    Membre actif
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2011
    Messages
    196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2011
    Messages : 196
    Points : 242
    Points
    242
    Par défaut
    les colonnes que tu as dans tes (A1ART, A1LIB etc...) il me semble qu'il faut qu'elles soient dans ta requête SELECT :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT DISTINCT A.A1FAM A.A1ART ... FROM PGVMARTM A
    ,

    Sinon essaye comme nom de colonne A.A1ART, A.A1LIB dans les , je dis ça à tout hasard !!

  8. #8
    Membre habitué
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2012
    Messages
    277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2012
    Messages : 277
    Points : 126
    Points
    126
    Par défaut
    Je les fait bien apparaitre dans ma requete SELECT je te joins le fichier complet pour que ça soit plus claire car le code est assez lourd et j'ai du mal. En fait c'est parce que je fais un formulaire, avec un champ de recherche par codeArticle (donc premiere requete SQL executé avec appel a la methode MAP), un autre champ de recherche par Libellé et là tout fonctionnait jusqu'à ce que j'arrive à vouloir remplir un menu déroulant à partir d'une lecture en base de donnée. (Seconde requête avec appel a la methode MAP)

    Contenu de mon fichier DAOimpl.java :

    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
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    package org.dao;
     
    import java.sql.Connection;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
    import java.util.ArrayList;
    import java.util.List;
     
    import static org.omega.dao.DAOUtilitaire.*;
     
    import org.omega.beans.Articles;
     
    public class ArticleDaoImpl implements ArticleDao{
     
    	private DAOFactory daoFactory;
    	private List<Articles> articles = new ArrayList<Articles>();
    	private List<Articles> articlesFam = new ArrayList<Articles>();
     
    	ArticleDaoImpl( DAOFactory daoFactory ) {
    		this.daoFactory = daoFactory;
    	}
     
    	/*
    	 * Méthode utilitaire permettant de faire la correspondance (le
    	 * mapping) entre une ligne issue de la table des articles (un
    	 * ResultSet) et un bean article.
    	 */
    	private static Articles map( ResultSet resultSet ) throws SQLException {
    		Articles article = new Articles();
    	//	article.setNumArticle(resultSet.getString("A1ART"));//("A1ART")); // Affectation base => article
    	//	article.setLibelleArticle(resultSet.getString("A1LIB")); //( "A1LIB" ) ); // idem
    	//	article.setLibelleArticle1(resultSet.getString("A1LB1"));//idem
    	//	article.setLibelleArticle2(resultSet.getString("A1LB2"));//idem
    	//	article.setLibelleArticle3(resultSet.getString("A1LB3"));// idem
     
    		//voir probleme pour famille.
    		article.setNumFamille(resultSet.getString(1));
     
     
    		System.out.println("article trouvé : "+article.getNumArticle());
    		System.out.println("article libellé : "+article.getLibelleArticle());
    		System.out.println("article complément 1 :"+article.getLibelleArticle1());
    		System.out.println("article complément 2 :"+article.getLibelleArticle2());
    		System.out.println("article complément 3 :"+article.getLibelleArticle3());
     
    		System.out.println("article famille : "+article.getNumFamille());
    		return article;
    	}
     
    	@Override
    	public void creer(Articles article) throws DAOException {
    		// TODO Auto-generated method stub
     
    	}
     
    	/************************************* REQUETE A DEFINIR !!!! *******************************/
    	private static final String SQL_SELECT_PAR_ARTICLE = "SELECT A.A1ART,A.A1LIB,B.A1LB1,B.A1LB2,B.A1LB3 FROM PGVMARTM A,PGVMEAAM B WHERE A.A1ART = B.A1ART AND B.A1ART LIKE ?";
    	private static final String SQL_SELECT_PAR_FAMILLE = "SELECT DISTINCT A.A1FAM FROM PGVMARTM A";
     
     
    	/*********************************************************************************************/
    	@Override
    	public List<Articles> trouverListArticles(String numArticle)throws DAOException
    	{
    		/* Implémentation de la méthode définie dans l'interface ArticleDao */
     
    		Connection connexion = null;
    		PreparedStatement preparedStatement = null;
    		ResultSet resultSet = null;
    		Articles article = null;
     
    		try {
    			/* Récupération d'une connexion depuis la Factory */
    			connexion = daoFactory.getConnection();
    			System.out.println("execution de la requete SQL !");
    			System.out.println("Requete :"+SQL_SELECT_PAR_ARTICLE);
    			preparedStatement = initialisationRequetePreparee( connexion, SQL_SELECT_PAR_ARTICLE, false, numArticle );
     
    			resultSet = preparedStatement.executeQuery();
    			/* Parcours de la ligne de données de l'éventuel ResulSet retourné */
    			articles.clear();
    			while ( resultSet.next() ) {
    				article = map( resultSet );
    				articles.add(article);
    			}
     
     
    		} catch ( SQLException e ) {
    			System.out.println("erreur dans la requete !");
    			throw new DAOException( e );
     
    		} finally {
    			System.out.println("fermeture de la connection !");
    			fermeturesSilencieuses( resultSet, preparedStatement, connexion );
    		}
    		return articles;
     
    	}
     
    	//recherche par libellé D'article
    	@Override
    	public List<Articles> trouverListArticles1(String libelleArticle)throws DAOException
    	{
    		/* Implémentation de la méthode définie dans l'interface ArticleDao */
     
     
    		Connection connexion = null;
    		PreparedStatement preparedStatement = null;
    		ResultSet resultSet = null;
    		Articles article = null;
     
    		try {
    			/* Récupération d'une connexion depuis la Factory */
    			connexion = daoFactory.getConnection();
    			System.out.println("execution de la requete SQL !");
    			System.out.println("Requete :"+SQL_SELECT_PAR_ARTICLE);
    			preparedStatement = initialisationRequetePreparee( connexion, SQL_SELECT_PAR_ARTICLE, false, libelleArticle );
     
    			resultSet = preparedStatement.executeQuery();
    			/* Parcours de la ligne de données de l'éventuel ResulSet retourné */
    			articles.clear();
    			while ( resultSet.next() ) {
    				article = map( resultSet );
    				articles.add(article);
    			}
     
     
    		} catch ( SQLException e ) {
    			System.out.println("erreur dans la requete !");
    			throw new DAOException( e );
     
    		} finally {
    			System.out.println("fermeture de la connection !");
    			fermeturesSilencieuses( resultSet, preparedStatement, connexion );
    		}
    		return articles;
     
    	}
     
     
    	//methode pour charger le menu deroulant des articles
    	@Override
    	public List<Articles> chargementListArticlesFamille()
    			throws DAOException {
     
     
    		// TODO Auto-generated method stub
    		// Implémentation de la méthode définie dans l'interface ArticleDao 
     
     
    		Connection connexion = null;
    		PreparedStatement preparedStatement = null;
    		ResultSet resultSet = null;
    		Articles article = null;
     
    		try {
    			// Récupération d'une connexion depuis la Factory 
    			connexion = daoFactory.getConnection();
    			System.out.println("execution de la requete SQL !");
    			System.out.println("Requete :"+SQL_SELECT_PAR_FAMILLE);
    			preparedStatement = initialisationRequetePreparee( connexion, SQL_SELECT_PAR_FAMILLE, false );
     
     
    			resultSet = preparedStatement.executeQuery();
    			// Parcours de la ligne de données de l'éventuel ResulSet retourné 
    			articlesFam.clear();
     
     
    			while ( resultSet.next() ) {
    				//Voir probleme resultSet pour recherche Famille
    				article = map( resultSet );
     
    			    //        System.out.printf("%-20s", //
    			    //                resultSet.getString(1));   
    				articlesFam.add(article);
    			}
     
     
    		} catch ( SQLException e ) {
    			System.out.println("erreur dans la requete !");
    			System.out.println("erreur"+e.getMessage());
    			throw new DAOException( e );
     
    		} finally {
    			System.out.println("fermeture de la connection !");
    			fermeturesSilencieuses( resultSet, preparedStatement, connexion );
    		}
    		return articlesFam;
     
    	}
    }
    Contenu de ma Servlet :

    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
    package org.omega.servlets;
     
    import java.io.IOException;
    import java.util.List;
     
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
     
    import org.omega.beans.Articles;
    import org.omega.dao.*;
    import org.omega.forms.RechercheArticleForm;
     
    /**
     * Servlet implementation class AfficheArticles
     */
    //@WebServlet("/AfficheArticles")
    public class AfficheArticles extends HttpServlet {
    	private static final long serialVersionUID = 1L;
    	public static final String CONF_DAO_FACTORY = "daofactory";
    	public static final String ATT_ARTICLES         = "article";
    	public static final String ATT_ARTICLES_FAMILLE     = "articleFamille";
    	public static final String ATT_FORM         = "FormArticleRecherche";
    	private static final String VUE = "/WEB-INF/AfficheArticles.jsp";
     
    	private ArticleDao articleDao;
    	/**
             * @see HttpServlet#HttpServlet()
             */
    	public AfficheArticles() {
    		super();
    		// TODO Auto-generated constructor stub
    	}
     
    	public void init() throws ServletException {
    		/* Récupération d'une instance de notre DAO Utilisateur */
    		this.articleDao = ( (DAOFactory) getServletContext().getAttribute( CONF_DAO_FACTORY ) ).getArticlesDao();
    	}
    	/**
             * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
             */
    	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    		// TODO Auto-generated method stub
    		RechercheArticleForm formRechercheArticleFamille = new RechercheArticleForm(articleDao);	
    		List <Articles> articleFamille = formRechercheArticleFamille.rechercheListArticleFamille(request);
    		request.setAttribute("ATT_ARTICLES_FAMILLE", articleFamille);	
    		this.getServletContext().getRequestDispatcher(VUE).forward(request, response);
    	}
     
    	/**
             * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
             */
    	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    		// TODO Auto-generated method stub
    		RechercheArticleForm formRechercheArticle = new RechercheArticleForm(articleDao);
    		List<Articles> article = formRechercheArticle.rechercheListArticle(request);
    	//	article = formRechercheArticle.rechercheListArticleFamille(request);
    		request.setAttribute(ATT_FORM, formRechercheArticle);
    		request.setAttribute(ATT_ARTICLES, article);
     
    		this.getServletContext().getRequestDispatcher( VUE ).forward( request, response );
    	}
     
    }
    Contenu de ma classe ArticleForm :

    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
    package org.omega.forms;
     
    import java.util.List;
     
    import javax.servlet.http.HttpServletRequest;
     
    import org.omega.beans.Articles;
    import org.omega.dao.ArticleDao;
     
    public class RechercheArticleForm {
     
    	//recuperation du Dao article
    	private ArticleDao articleDao;
    	private static final String CHAMP_CODE_ARTICLE  = "CodeArticle";
    	private static final String CHAMP_DESIGNATION_ARTICLE   = "DesignationArticle";
     
    	public RechercheArticleForm( ArticleDao articleDao) {
    		// TODO Auto-generated constructor stub
    		this.articleDao = articleDao;
    	}
     
    	public List<Articles> rechercheListArticle(HttpServletRequest request) {
    		// TODO Auto-generated method stub
    		String codeArticle = getValeurChamp( request, CHAMP_CODE_ARTICLE );
    		String designationArticle = getValeurChamp( request, CHAMP_DESIGNATION_ARTICLE );
     
    		Articles article = new Articles();
     
     
    		//verification des champs si ils sont vides, on fait rien sinon on UPPER
    		if(codeArticle != null){
    		article.setNumArticle("%"+codeArticle.toUpperCase()+"%");
    		List<Articles> listArticle = articleDao.trouverListArticles(article.getNumArticle());
    		return listArticle;
    		}
    		if(designationArticle != null){
    		article.setLibelleArticle("%"+designationArticle.toUpperCase()+"%");
    		List<Articles> listArticle = articleDao.trouverListArticles(article.getLibelleArticle());
    		return listArticle;
    		}
     
    		return null;		
    	}
     
    	//methode de chargement du menu deroulant famille article
    	public List<Articles> rechercheListArticleFamille(HttpServletRequest request){
    	List<Articles> listArticleFamille = articleDao.chargementListArticlesFamille();	
    	return listArticleFamille;	
    	}
     
     
    	/*
    	 * Méthode utilitaire qui retourne null si un champ est vide, et son contenu
    	 * sinon.
    	 */
    	private static String getValeurChamp( HttpServletRequest request, String nomChamp ) {
    		String valeur = request.getParameter( nomChamp );
    		if ( valeur == null || valeur.trim().length() == 0 ) {
    			return null;
    		} else {
    			return valeur.trim();
    		}
     
    	}
     
    }
    Mon POJO Article :

    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
    package org.omega.beans;
     
    /*
     * POJO Articles
     */
     
    public class Articles {
     
    	private String numArticle;
    	private String libelleArticle; //designation Article
    	private String libelleArticle1; //Complément 1
    	private String libelleArticle2; //Complément 2
    	private String libelleArticle3; //Complément 3
    	private String numFamilleArticle;
    	//private Integer numMagasin;
    	private String typeArticle;
    	private double prixVenteArticle;
     
     
    	public String getNumArticle() {
    		return numArticle;
    	}
    	public void setNumArticle(String numArticle) {
    		this.numArticle = numArticle;
    	}
    	public String getLibelleArticle() {
    		return libelleArticle;
    	}
    	public void setLibelleArticle(String libelleArticle) {
    		this.libelleArticle = libelleArticle;
    	}
    	public String getNumFamille() {
    		return numFamilleArticle;
    	}
    	public void setNumFamille(String numFamille) {
    		this.numFamilleArticle = numFamille;
    	}
     
    	public String getTypeArticle() {
    		return typeArticle;
    	}
    	public void setTypeArticle(String typeArticle) {
    		this.typeArticle = typeArticle;
    	}
    	public double getPrixVenteArticle() {
    		return prixVenteArticle;
    	}
    	public void setPrixVenteArticle(double prixVenteArticle) {
    		this.prixVenteArticle = prixVenteArticle;
    	}
    	public String getLibelleArticle1() {
    		return libelleArticle1;
    	}
    	public void setLibelleArticle1(String libelleArticle1) {
    		this.libelleArticle1 = libelleArticle1;
    	}
    	public String getLibelleArticle2() {
    		return libelleArticle2;
    	}
    	public void setLibelleArticle2(String libelleArticle2) {
    		this.libelleArticle2 = libelleArticle2;
    	}
    	public String getLibelleArticle3() {
    		return libelleArticle3;
    	}
    	public void setLibelleArticle3(String libelleArticle3) {
    		this.libelleArticle3 = libelleArticle3;
    	}
     
    }

  9. #9
    Membre actif
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2011
    Messages
    196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2011
    Messages : 196
    Points : 242
    Points
    242
    Par défaut
    Ben dans la requête SQL_SELECT_PAR_FAMILLE tu sélectionnes uniquement le champ A.A1FAM, il faut que tu sélectionnes les autres champs comme tu as fait pour la requête SQL_SELECT_PAR_ARTICLE

  10. #10
    Membre habitué
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2012
    Messages
    277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2012
    Messages : 277
    Points : 126
    Points
    126
    Par défaut
    il n'y a qu'un seul champ dans cette table donc normal que je n'ai selectionné que celle ci.

    En revanche je viens de tester en faisant un resulSet par requete SQL et cela passe mais j'arrive pas à mettre à jour maintenant ma jsp pour affecter les valeurs dans mon menu déroulant.

    Je dois d'apres toi bien mettre en GET pour que quand on affiche la page, le menu se mette bien à jour. Donc je dois utiliser un setAttribut("nomChamp", Valeur); ????

  11. #11
    Membre actif
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2011
    Messages
    196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2011
    Messages : 196
    Points : 242
    Points
    242
    Par défaut
    Vérifie dans ta servlet que
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    List <Articles> articleFamille = formRechercheArticleFamille.rechercheListArticleFamille(request);
    contient bien la liste des articles par Famille, ensuite sur ta jsp tu as juste à faire un request.getAttribute("ATT_ARTICLES_FAMILLE") pour récupérer la liste d'articles !!

  12. #12
    Membre habitué
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2012
    Messages
    277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2012
    Messages : 277
    Points : 126
    Points
    126
    Par défaut
    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
    package org.omega.servlets;
     
    import java.io.IOException;
    import java.util.List;
     
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
     
    import org.omega.beans.Articles;
    import org.omega.dao.*;
    import org.omega.forms.RechercheArticleForm;
     
    /**
     * Servlet implementation class AfficheArticles
     */
    //@WebServlet("/AfficheArticles")
    public class AfficheArticles extends HttpServlet {
    	private static final long serialVersionUID = 1L;
    	public static final String CONF_DAO_FACTORY = "daofactory";
    	public static final String ATT_ARTICLES         = "article";
    	public static final String ATT_ARTICLES_FAMILLE     = "articleFamille";
    	public static final String ATT_FORM         = "FormArticleRecherche";
    	private static final String VUE = "/WEB-INF/AfficheArticles.jsp";
     
    	private ArticleDao articleDao;
    	/**
             * @see HttpServlet#HttpServlet()
             */
    	public AfficheArticles() {
    		super();
    		// TODO Auto-generated constructor stub
    	}
     
    	public void init() throws ServletException {
    		/* Récupération d'une instance de notre DAO Utilisateur */
    		this.articleDao = ( (DAOFactory) getServletContext().getAttribute( CONF_DAO_FACTORY ) ).getArticlesDao();
    	}
    	/**
             * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
             */
    	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    		// TODO Auto-generated method stub
    		RechercheArticleForm formRechercheArticleFamille = new RechercheArticleForm(articleDao);	
    		List <Articles> articleFamille = formRechercheArticleFamille.rechercheListArticleFamille(request);
    		System.out.println("Affichage ::: "+articleFamille.get(1).getNumFamille());
    		request.setAttribute("ATT_ARTICLES_FAMILLE", articleFamille);	
    		this.getServletContext().getRequestDispatcher(VUE).forward(request, response);
    	}
     
    	/**
             * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
             */
    	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    		// TODO Auto-generated method stub
    		RechercheArticleForm formRechercheArticle = new RechercheArticleForm(articleDao);
    		List<Articles> article = formRechercheArticle.rechercheListArticle(request);
    	//	article = formRechercheArticle.rechercheListArticleFamille(request);
    		request.setAttribute(ATT_FORM, formRechercheArticle);
    		request.setAttribute(ATT_ARTICLES, article);
     
    		this.getServletContext().getRequestDispatcher( VUE ).forward( request, response );
    	}
     
    }
    J'ai fait ça pour test , j'ai bien mon premiere enregistrement.
    J'utilise la librairie JSTL pour récupérer le contenu sans mettre de java dans ma JSP:

    ca donne ça mais ça ne marche pas :

    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
    <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    	pageEncoding="ISO-8859-1"%>
    <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    <title>Affiche Articles</title>
    </head>
    <body>
     
    	<div id="conteneur">
     
    		<div id="haut"></div>
    		<div id="menuGauche"></div>
    		<div id="cadreAction">
    			<form name="FormArticleRecherche" action="AfficheArticles"
    				method="post">
    				<fieldset>
    					<legend>Fiches Article</legend>
    					<p>
    						Code Article : <input type="text" name="CodeArticle" size="6">
    						Désignation : <input type="text" name="DesignationArticle"
    							size="20">
    					</p>
     
    					<p>
    						Famille : <select name="FamilleArticle">
    							<option>Aucun</option>
    							<c:forEach var="resultatFamilleArticle" items="${requestScope['articleFamille']}">
    							<option>${resultatFamilleArticle.numFamilleArticle}</option>
    							</c:forEach>
    						</select> Fournisseur : <select name="FournisseurArticle">
    							<option>Aucun</option>
    						</select>
    					</p>
    					<p>
    						Classement 1 : <input type="text" name="ClassementArticle"
    							size="20"> Classement 2 : <input type="text"
    							name="ClassementArticleBis" size="20"> <input
    							type="submit" name="rechercherArticle" value="Rechercher">
    					</p>
    				</fieldset>
    			</form>
    			<br>
    			<table name="resultatArticle" border="1">
    				<tr>
    					<td>Code</td>
    					<td>Désignation</td>
    					<td>Complément 1</td>
    					<td>Complément 2</td>
    					<td>Complément 3</td>
    				</tr>
     
    				<c:forEach var="resultatNumArticle"
    					items="${requestScope['article']}">
    					<tr>
    						<td>${resultatNumArticle.numArticle}</td>
    						<td>${resultatNumArticle.libelleArticle }</td>
    						<td>${resultatNumArticle.libelleArticle1 }</td>
    						<td>${resultatNumArticle.libelleArticle2 }</td>
    						<td>${resultatNumArticle.libelleArticle3 }</td>
    					</tr>
    				</c:forEach>
     
    			</table>
    		</div>
    		<div id="menuHorizontale"></div>
    		<div id="bas"></div>
    	</div>
    </body>
    </html>

  13. #13
    Membre actif
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2011
    Messages
    196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2011
    Messages : 196
    Points : 242
    Points
    242
    Par défaut
    A vue de nez, remplace
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    items="${requestScope['articleFamille']}"
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    items="${requestScope['ATT_ARTICLES_FAMILLE']}"

  14. #14
    Membre habitué
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2012
    Messages
    277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2012
    Messages : 277
    Points : 126
    Points
    126
    Par défaut
    Marche pas :"(

    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
    Etat HTTP 500 - An exception occurred processing JSP page /WEB-INF/AfficheArticles.jsp at line 31
     
    type Rapport d''exception
     
    message An exception occurred processing JSP page /WEB-INF/AfficheArticles.jsp at line 31
     
    description Le serveur a rencontré une erreur interne qui l''a empêché de satisfaire la requête.
     
    exception
     
    org.apache.jasper.JasperException: An exception occurred processing JSP page /WEB-INF/AfficheArticles.jsp at line 31
     
    28: 						Famille : <select name="FamilleArticle">
    29: 							<option>Aucun</option>
    30: 							<c:forEach var="resultatFamilleArticle" items="${requestScope['ATT_ARTICLES_FAMILLE']}">
    31: 							<option>${resultatFamilleArticle.numFamilleArticle}</option>
    32: 							</c:forEach>
    33: 						</select> Fournisseur : <select name="FournisseurArticle">
    34: 							<option>Aucun</option>

  15. #15
    Membre habitué
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2012
    Messages
    277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2012
    Messages : 277
    Points : 126
    Points
    126
    Par défaut
    J'ai oublié de passé le FORM dans la JSP.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    		// TODO Auto-generated method stub
    		RechercheArticleForm formRechercheArticleFamille = new RechercheArticleForm(articleDao);	
    		List <Articles> articleFamille = formRechercheArticleFamille.rechercheListArticleFamille(request);
     
    		System.out.println("Affichage ::: "+articleFamille.get(1).getNumFamille());
     
    		request.setAttribute("ATT_FORM_RECHERCHE_FAMILLE", formRechercheArticleFamille);
    		request.setAttribute("ATT_ARTICLES_FAMILLE", articleFamille);	
    		this.getServletContext().getRequestDispatcher(VUE).forward(request, response);
    	}
    Maintenant j'ai cette erreur là :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Etat HTTP 500 - javax.el.PropertyNotFoundException: Property 'numFamilleArticle' not found on type org.omega.beans.Articles
    Hors dans mon bean j'ai la propriete numFamilleArticle ...

    Mon bean :

    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
    package org.omega.beans;
     
    /*
     * POJO Articles
     */
     
    public class Articles {
     
    	private String numArticle;
    	private String libelleArticle; //designation Article
    	private String libelleArticle1; //Complément 1
    	private String libelleArticle2; //Complément 2
    	private String libelleArticle3; //Complément 3
    	private String numFamilleArticle;
    	//private Integer numMagasin;
    	private String typeArticle;
    	private double prixVenteArticle;
     
     
    	public String getNumArticle() {
    		return numArticle;
    	}
    	public void setNumArticle(String numArticle) {
    		this.numArticle = numArticle;
    	}
    	public String getLibelleArticle() {
    		return libelleArticle;
    	}
    	public void setLibelleArticle(String libelleArticle) {
    		this.libelleArticle = libelleArticle;
    	}
    	public String getNumFamille() {
    		return numFamilleArticle;
    	}
    	public void setNumFamille(String numFamille) {
    		this.numFamilleArticle = numFamille;
    	}
     
    	public String getTypeArticle() {
    		return typeArticle;
    	}
    	public void setTypeArticle(String typeArticle) {
    		this.typeArticle = typeArticle;
    	}
    	public double getPrixVenteArticle() {
    		return prixVenteArticle;
    	}
    	public void setPrixVenteArticle(double prixVenteArticle) {
    		this.prixVenteArticle = prixVenteArticle;
    	}
    	public String getLibelleArticle1() {
    		return libelleArticle1;
    	}
    	public void setLibelleArticle1(String libelleArticle1) {
    		this.libelleArticle1 = libelleArticle1;
    	}
    	public String getLibelleArticle2() {
    		return libelleArticle2;
    	}
    	public void setLibelleArticle2(String libelleArticle2) {
    		this.libelleArticle2 = libelleArticle2;
    	}
    	public String getLibelleArticle3() {
    		return libelleArticle3;
    	}
    	public void setLibelleArticle3(String libelleArticle3) {
    		this.libelleArticle3 = libelleArticle3;
    	}
     
    }

  16. #16
    Membre actif
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2011
    Messages
    196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2011
    Messages : 196
    Points : 242
    Points
    242
    Par défaut
    tu as setNumFamille et getNumFamille, il faut que le nom des méthodes soient setNumFamilleArticle et getNumFamilleArticle

  17. #17
    Membre habitué
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2012
    Messages
    277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2012
    Messages : 277
    Points : 126
    Points
    126
    Par défaut
    oki ça passe, une dernière chose comme j'ai passé par une methode GET pour remplir le menu formulaire, quand je valide le formulaire avec le bouton, il passe en POST , et donc le menu devient vide lors du clic, comment je fais pour qu'il reste remplit. stp . Apres je ne t'embete plus :p

  18. #18
    Membre actif
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2011
    Messages
    196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2011
    Messages : 196
    Points : 242
    Points
    242
    Par défaut
    Il faut que tu présices méthod="Get" sur la déclaration de ton formulaire.
    Il me semble que ton formulaire était :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <form name="FormArticleRecherche" action="AfficheArticles" method="post">
    Tu dois le remplacer par ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <form name="FormArticleRecherche" action="AfficheArticles" method="get">

  19. #19
    Membre habitué
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2012
    Messages
    277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2012
    Messages : 277
    Points : 126
    Points
    126
    Par défaut
    ok, mais en réalité, j'ai testé en mettant ma méthode de remplissage du menu déroulant, dans la doGet , et aussi dans ma doPost de ma servlet.

    Afin de ne plus avoir de problème de vidage du menu.

    Mais cela ne passe toujours pas quand je valide le formulaire par le boutton.

    De plus tu me dis qu'on doit remplacer par GET le methode d'envoie du formulaire.

    Ca veux dire que tu me dis qu'on est obligé de passer tout en GET lorsque l'on veut passer par un chargement dynamique à partir d'une base de donnée ? ...
    Car je ne pense pas que j'aurais que des formulaires à passer en GET dans le projet. Et donc je serais coincé à un moment ou un autre.

    Tu es donc sûr qu'il n'y a pas d'autre solution ?

    En tout cas je te remercie pour ton coup de main qui m'est très utile.

  20. #20
    Membre actif
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2011
    Messages
    196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2011
    Messages : 196
    Points : 242
    Points
    242
    Par défaut
    Non tu n'es pas obligé de passer en GET. Pour un formulaire d'ailleurs il est privilégié de passer par la méthode POST, donc tu peux laisser method="POST" et à ce moment là le traitement se fera dans la méthode doPost de ta servlet.

    En revanche je ne comprends pas pourquoi ça ne marche pas quand tu cliques sur le bouton du formulaire. Rien ne se passe ?? il n'y a aucune erreur de remontée ?

    Essaye de lancer le projet en mode debug et de mettre un point d'arrêt à l'intérieur de ta méthode doPost pour voir si on passe bien dedans.
    Sinon vérifie que le paramètre action de ton formulaire "AfficheArticles" correspond bien à l'url de mapping que tu as donné dans le fichier web.xml

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Traitement erreur accès base de données
    Par informer dans le forum jQuery
    Réponses: 4
    Dernier message: 16/06/2014, 19h11
  2. Réponses: 2
    Dernier message: 31/05/2007, 16h36
  3. erreur acces base de donnée.
    Par Phiss dans le forum ASP
    Réponses: 8
    Dernier message: 08/11/2006, 10h49
  4. [Kylix] Kylix et accès Base de données
    Par Oyoboy dans le forum EDI
    Réponses: 16
    Dernier message: 22/06/2004, 16h41
  5. Modifier le nom d'une base de donnée avec erreur sy
    Par mmn dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 25/11/2003, 10h12

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo