Affichage des donnée
natasha82
Messages postés
55
Date d'inscription
Statut
Membre
Dernière intervention
-
KX Messages postés 16761 Date d'inscription Statut Modérateur Dernière intervention -
KX Messages postés 16761 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour, j'ai fait une fonction qui fait l'affichage mais les données s'affiche juste quand j'ajoute un des donnée comment le modifier pour qu'elle reste toujours même sans cliquer sur ajouter voici mon code
EDIT: Précision du langage dans la coloration syntaxique.
merci
public ArrayList getAll(){ ArrayList listEtudian= new ArrayList<Etudiant>(); try { Class.forName("com.mysql.jdbc.Driver"); Connection cn=DriverManager.getConnection("jdbc:mysql://localhost:3306/bdd","root",""); PreparedStatement pr = cn.prepareStatement("SELECT * FROM etudiant"); ResultSet rs = pr.executeQuery(); while(rs.next()){ Etudiant e = new Etudiant(); e.setId_etu(rs.getInt("id_etu")); e.setMat_etu(rs.getString("mat_etu")); e.setNom_etu(rs.getString("nom_etu")); e.setPrenom_etu(rs.getString("prenom_etu")); e.setJour(rs.getString("jour")); e.setMoi(rs.getString("mois")); e.setAnnee(rs.getString("annee")); e.setLieu_naiss_etu(rs.getString("lieux_naiss_etu")); e.setAdress_etu(rs.getString("adress_etu")); e.setEmail_etu(rs.getString("email_etu")); e.setSexe_etu(rs.getString("sexe_etu")); listEtudian.add(e); } } //Etudiants.add(e); catch (Exception ex) { ex.printStackTrace(); } return listEtudian; }
EDIT: Précision du langage dans la coloration syntaxique.
merci
A voir également:
- Affichage des donnée
- Affichage double ecran - Guide
- Windows 11 affichage classique - Guide
- Trier des données excel - Guide
- Problème affichage fenêtre windows 10 - Guide
- Sauvegarde des données - Guide
1 réponse
Bonjour,
"j'ai fait une fonction qui fait l'affichage"
Quel rapport avec ton code de récupération en base de données ?
"les données s'affiche juste quand j'ajoute un des donnée"
Quand est-ce que tu ajoutes des données, quand est-ce que tu les affiches ?
"comment le modifier pour qu'elle reste toujours même sans cliquer sur ajouter"
Je ne sais pas, on parle de quoi ? Où est le bouton ajouter, qu'est-ce qu'on doit modifier ?
On n'est pas devin, on ne peux pas savoir quel est ton problème si tu ne l'expliques pas correctement...
"j'ai fait une fonction qui fait l'affichage"
Quel rapport avec ton code de récupération en base de données ?
"les données s'affiche juste quand j'ajoute un des donnée"
Quand est-ce que tu ajoutes des données, quand est-ce que tu les affiches ?
"comment le modifier pour qu'elle reste toujours même sans cliquer sur ajouter"
Je ne sais pas, on parle de quoi ? Où est le bouton ajouter, qu'est-ce qu'on doit modifier ?
On n'est pas devin, on ne peux pas savoir quel est ton problème si tu ne l'expliques pas correctement...
voici ma page jsp:
et la class Operation:
et aussi la servlet:
merci
Tu as commencé à séparer les codes dans des classes et des packages différents, c'est très bien, mais il faut aller au bout de l'idée.
Par exemple la classe Operation (qui ne fait que des opérations en base de données) pourrait être dans un package "dao" (Data Access Object), séparé de la classe Etudiant qui serait dans un package "bean".
Mais du coup je ne sais pas ce que vient faire l'ArrayList<Etudiant> Etudiants, et ses deux méthodes get/set qu'il y a dans Operation, d'une part elles ne sont pas utilisées, d'autres part, si Operation ne fait que l'accès en base, il ne devrait pas y avoir d'état, si ce n'est celui de la Connection, que tu peux ne faire qu'une seule fois (de même que le Class.forName qu'il est totalement inutile d'appeler plusieurs fois).
Je te propose de faire un singleton pour la classe Operation, c'est à dire une seule instance d'objet, qui contient la connexion.
Evidemment, cela implique quelques petites modification dans les méthodes de Operation, puisque sera déjà défini.
Et au lieu de faire tu devras faire .
Ensuite vient la partie qui est vraiment moche dans ton code, c'est la JSP...
Il ne faudrait jamais faire ce que l'on appelle les scriptlets (le code avec <% %>), tu devrais plutôt regarder du côté de la JSTL ou autres taglib (un exemple)
Cela implique de déporter un certain nombre de code du côté de la servlet (pour ne plus avoir de Java dans la JSP), par exemple au lieu d'avoir :
Tu devrais faire, côté servlet, un et côté JSP :
Les risques à utiliser du Java directement dans la JSP sont les mêmes que ceux liés à faire de la concaténation de String dans une requête SQL. Si tu comprends pourquoi c'est mieux d'utiliser un preparedStatement, tu comprendras pourquoi c'est mieux d'utiliser la JSTL.
Au passage, tu pourrais te servir d'une boucle aussi pour remplir les options dans ton select...
Remarque : je ne peux toujours pas répondre à ta question...
"ce programme possede un formulaire d'ajout des etudiants quand je clique sur le boutton ajouter la liste des etudiant sera afficher"
Ok.
"alor moi je veux le modifier pour que la litse reste toujours meme si si j'ai pas cliquer sur ajouter"
Si tu n'as pas cliqué sur "ajouter" qu'est-ce que tu as fais à la place ? Ce n'est plus géré par le code d'ajout du coup ?
"la liste restera toujour c'est a dir les donnée deja ajoutées avant"
Ce que tu veux c'est afficher la liste comme elle était avant que tu n'ais commencé à ajouter des étudiants ? Dans ce cas au lieu de faire un setAttribute sur la request, il faut le faire sur la session avant de faire les ajouts, et toujours récupérer la liste depuis la session au lieu de retaper en base de données.