bonjour,
je suis debutant en JSP, et je souhaiterais afficher les resultats d'une requete via jdbc sur une page html avec une gestion des pages suivantes et precedentes
comme les sujets des forum par exemple
merci de vos reponses
bonjour,
je suis debutant en JSP, et je souhaiterais afficher les resultats d'une requete via jdbc sur une page html avec une gestion des pages suivantes et precedentes
comme les sujets des forum par exemple
merci de vos reponses
Tout d'abord il faut que tu mettes ton résultat dans un tableau ou un vecteur (ArrayList ou Vector).
Ensuite il faut que tu regardes comment fonctionne les sessions (notion indispensable).
Tu mets ton vecteur dans la session avec l'index en cours.
Puis enfin que tu récupère ton vecteur de la session avec son index et que tu généres le tableau résultant en fonction de ton index.
Etre c'est etre relatif.
Je sais que tu es debutant, mais si tes jsp sont liees a une appli basee sur Struts, tu peux utiliser la tld struts-layout , elle te permet facilement de faire de la pagination sur des donnees contenues dans une collection par exemple
Bon courage
Sun Certified Business Component Developer
Sun Certified Java Programmer
--
The definitive toolbox for GWT applications: gwt-toolbox
My blog about Java and JEE: Benjamin's Blog
Si tu n'utilises pas Struts, il y a aussi :
le pager tag List
le displayTag
D'ailleurs, pour le displayTag, meme si tu utilises Struts, je te le recommande, il est très bien.
Cours et tutoriels pour apprendre Java , FAQ Java, et Forum Java
"La liberté de tout être s'arréte là où commence celle de l'autre... Respecter l'autre, c'est préserver sa liberté d'être, de penser et de vivre"
mais vaut-il mieux :
- une servlet avec la requete + 1 jsp d'affichage avec passage du tableau
- une jsp avec la requete + 1 jsp d'affichage avec passage du tableau
la gestion des pages ( suivante/precedente) doit-elle se faire sur la jsp d'affichage ?
y-a-t-il du code sur lequel je pourrais m'appuyer pour les enchainements entre les 2 pages.
actuellement je fais tout sur une page
voici un bout de mon code
merci d'avance
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 String Color =""; int TopCol = 0; String req1="select cod_cmp, lic_cmp,lib_cmp, tem_en_sve_cmp from composante order by 3"; ResultSet rset = stmt.executeQuery(req1.toString()); // creation entete de table %> <table border=1 cellpadding='2'> <CAPTION ALIGN=TOP>LISTE DES COMPOSANTES</CAPTION> <tr bgcolor='#5F9EA0'> <th>Code</th> <th>libelle court</th> <th>Libelle long</th> <th>Tem Sve</th> </tr> <% // traitement lecture du buffer while(rset.next()) { if (TopCol==1) { Color = "#D2B48C"; TopCol = 0; } else { Color = "#FFE4B5"; TopCol=1; } %> <tr bgcolor="<%=Color%>"> <td width="10%"><%= rset.getString(1)%></td> <td width="15%"><%= rset.getString(2)%></td> <td width="35%"><%= rset.getString(3)%></td> <td width="8%"><%= rset.getString(4)%></td> </tr> <% } rset.close(); conn.close(); %>
Encore une fois, regarde un peu se que peut faire le DisplayTag ! Il gere ça tout seul, tu n'a qu'à le configurer avec le nombre d'enregistrements que tu veux dans une table.
Cours et tutoriels pour apprendre Java , FAQ Java, et Forum Java
"La liberté de tout être s'arréte là où commence celle de l'autre... Respecter l'autre, c'est préserver sa liberté d'être, de penser et de vivre"
j'ai bien recupere le package correspondant aux Taglibs :
commons-beanutils.jar
commons-collections.jar
commons-logging.jar
je travaille avec netbean, et j'ai donc mis mes package dans le WEB_INF/lib de mon appli.
mais j'ai des erreurs dans la compilation de ma JSP
voici un bout de ma JSP
le message concerne la methode RowSetDynaClass.
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 <%@page contentType="text/html"%> <%@page pageEncoding="UTF-8"%> <%@page language="java" import="java.util.*, java.sql.*, commons-beanutils.*,fonctions.fonct.*" %> <%@ taglib uri="http://displaytag.sf.net" prefix="display" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html> <head><title>JSP Page</title></head> <body> <%-- <jsp:useBean id="beanInstanceName" scope="session" class="beanPackage.BeanClassName" /> --%> <%-- <jsp:getProperty name="beanInstanceName" property="propertyName" /> --%> <% //cree la connection Connection conn=null; //connection à la base de données try { DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver()); //chaine de connection à la base de données conn = DriverManager.getConnection ("jdbc:oracle:thin:@147.94.113.168:1524:GRILLE", "grille", "grille"); } catch(SQLException exception) { out.println("Pb de connexion:" + exception); } Statement stmt = conn.createStatement(); //pour recuperer des parametres venant du formulaire de la page precedente. exemple: //fonctions.requete req; String Annee = "2004"; String Color =""; int TopCol = 0; String req1="select cod_cmp, lic_cmp,lib_cmp, tem_en_sve_cmp from composante order by 3"; // pour ajouter des parametres ex : req= "select * from personnel where nom='"+nom+"'"; ResultSet rset = stmt.executeQuery(req1.toString()); RowSetDynaClass resultSet = new RowSetDynaClass(rset, false); rset.close(); conn.close(); request.setAttribute("results", resultSet); %> <display:table name="requestScope.results.rows" /> </body> </html>
merci de votre aide.
j'ai trouve la reponse à ma question
j'avais fait un mauvais import
si je ne precise aucun <display:column />, c'est ok, mais les colonnes ne sont pas dans l'odre de la selection : pourquoi ?????
je voulais donc utiliser les <display:column> pour afficher mes colonnes dans un ordre precis, mais j'ai le message
donc cela veut dire qu'il ne trouve pas le lien entre la propriete de la colonne et le nom de l'attribut de ma list.org.apache.jasper.JasperException: Error looking up property "cod_cmp" in
object type "org.apache.commons.beanutils.BasicDynaBean"
voila un bout de mon code
je ne comprends pas le pb
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 <display:table width="85%" scope="request" pagesize="10" name="TAB"> <display:caption>LISTE DES COMPOSANTES</display:caption> <display:column title="Composante" property="cod_cmp"> <display:column title="Libelle Court" /> <display:column title="Libelle Long" /> <display:column title="Tem" /> <display:setProperty name="paging.banner.placement" value="bottom" /> </display:table>
quelqu'un a t-il des exemples de JSP avec des taglib .
merci de votre aide.
As tu un getter pour la propriete dans cod_cmp dans ton objet ? elle doit ressembler à ça :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 public TypeCod_cmp getCod_cmp() { return cod_cmp; }
Cours et tutoriels pour apprendre Java , FAQ Java, et Forum Java
"La liberté de tout être s'arréte là où commence celle de l'autre... Respecter l'autre, c'est préserver sa liberté d'être, de penser et de vivre"
j'au trouve la reponse, en cherchant sur la dynaclass
il faut mettre les noms des attributs en majuscule ( c'est un pb de compatibilite
maintenant j'ai bien mes colonnes dans l'odre.Each column in the result set will be represented as a DynaBean property of the corresponding name (optionally forced to lower case for portability). There will be one DynaBean in the List returned by getRows() for each row in the original ResultSet.
est-ce que quelqu'un a des exmples de tableaux avec des styles et des decoration.
merci d'avance
Salut à tous,
je viens de découvrir display tag, et j'ai regardé un peu les exemples, ça a l'air pas mal du tout. Mais j'ai une petite question.
Je vois que la pagination sur plusieurs pages affiche :
[First/Prev] 1, 2, 3 [Next/Last]
par exemple. Comment on fait pour traduire First/Prev en français ?
On modifie le code de display tag à la barbare, où y'a un truc plus propre (j'espère que oui) ?
Merci
oui tu peux te servir du tag <display:setproperty> qui agit sur l'ensemble de la table.
voici un exemple
{0} correpond aux numero de pages
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 <DISPLAY:SETPROPERTY name="paging.banner.first" value="[Deb/Prec]{0}{3}Suiv{4}Der" /> <DISPLAY:SETPROPERTY name="paging.banner.full" value=" {1}Deb{2}Prec{0}{3}Suiv{4}Der" /> <DISPLAY:SETPROPERTY name="paging.banner.last" value="{1}Deb{2}Prec{0}[Suiv/Der]" />
{1} lien sur la premiere page
{2} lien sur la pages precedente
{3} lien sur la page suivante
{4} lien srur la derniere page
etc ....
il ya pleins d'autres options possibles.
va voir http://displaytag.sourceforge.net/configuration.html
Un petit tag résolu svp...
Cours et tutoriels pour apprendre Java , FAQ Java, et Forum Java
"La liberté de tout être s'arréte là où commence celle de l'autre... Respecter l'autre, c'est préserver sa liberté d'être, de penser et de vivre"
je voulais savoir si quelqu'un pouvait me donner quelques exemples de tableaux deja fait.
cela m'aiderait beaucoup, il y a encore quelques petites inerrogations dur la mise en forme pour que cela soit propre.
merci d'avance
apres promis, je mets le sujet en resolu.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager