[JSP/SERVLET] Problème avec les jsp:getProperty

Problème avec les jsp:getProperty [JSP/SERVLET] - Java - Programmation

Marsh Posté le 21-05-2004 à 01:24:32    

Salut,
 
J'ai un problème pour utiliser jsp:getProperty dans mes beans :
 

Code :
  1. <%@ page import="java.util.*,com.outils.forum.MessageBean" %>
  2. <jsp:useBean id="message" class="com.outils.forum.MessageBean"/>
  3. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  4. <html>
  5. <head>
  6. <title>Messages.jsp</title>
  7. </head>
  8. <body>
  9. Bienvenue sur le Mini-Forum
  10. <%
  11. Vector v = (Vector) request.getAttribute("liste" );
  12. Iterator i = v.iterator();
  13. while (i.hasNext()) {
  14.  message = (MessageBean)i.next();
  15.  out.println(message.getTitre()); // Marche bien
  16. %>
  17. <jsp:getProperty name="message" property="titre"/> // Marche pas
  18. <% } %>
  19. </body>
  20. </html>


 
Mon bean :
 

Code :
  1. /*
  2. * Créé le 20 mai 2004
  3. */
  4. package com.outils.forum;
  5. /**
  6. * @author XXX
  7. */
  8. public class MessageBean {
  9. // Identifiant
  10. private int id;
  11. // Borne gauche
  12. private int bg;
  13. // Borne droite
  14. private int bd;
  15. // Visiteur
  16. private String visiteur;
  17. // Date
  18. private String date;
  19. // Titre
  20. private String titre;
  21. // Corps
  22. private String corps;
  23. // Constructeur
  24. public MessageBean(int id) {
  25.  this.id = id;
  26.  this.bg = 0;
  27.  this.bd = 0;
  28.  this.visiteur = "";
  29.  this.date = "";
  30.  this.titre = "";
  31.  this.corps = "";
  32. }
  33. public MessageBean() {
  34.  this(0);
  35. }
  36. /**
  37.  * Accesseur getBd()
  38.  */
  39. public int getBd() {
  40.  return this.bd;
  41. }
  42. /**
  43.  * Accesseur getBg()
  44.  */
  45. public int getBg() {
  46.  return this.bg;
  47. }
  48. /**
  49.  * Accesseur getBd()
  50.  */
  51. public String getCorps() {
  52.  return this.corps;
  53. }
  54. /**
  55.  * Accesseur getDate()
  56.  */
  57. public String getDate() {
  58.  return this.date;
  59. }
  60. /**
  61.  * Accesseur getId()
  62.  */
  63. public int getId() {
  64.  return this.id;
  65. }
  66. /**
  67.  * Accesseur getTitre()
  68.  */
  69. public String getTitre() {
  70.  return this.titre;
  71. }
  72. /**
  73.  * Accesseur getVisiteur()
  74.  */
  75. public String getVisiteur() {
  76.  return this.visiteur;
  77. }
  78. /**
  79.  * Accesseur setBd(int bd)
  80.  */
  81. public void setBd(int bd) {
  82.  this.bd = bd;
  83. }
  84. /**
  85.  * Accesseur setBg(int bg)
  86.  */
  87. public void setBg(int bg) {
  88.  this.bg = bg;
  89. }
  90. /**
  91.  * Accesseur setCorps(String corps)
  92.  */
  93. public void setCorps(String corps) {
  94.  this.corps = corps;
  95. }
  96. /**
  97.  * Accesseur setDate(String date)
  98.  */
  99. public void setDate(String date) {
  100.  this.date = date;
  101. }
  102. /**
  103.  * Accesseur setId(int id)
  104.  */
  105. public void setId(int id) {
  106.  this.id = id;
  107. }
  108. /**
  109.  * Accesseur setTitre(String titre)
  110.  */
  111. public void setTitre(String titre) {
  112.  this.titre = titre;
  113. }
  114. /**
  115.  * Accesseur setVisiteur(String visiteur)
  116.  */
  117. public void setVisiteur(String visiteur) {
  118.  this.visiteur = visiteur;
  119. }
  120. }


 
Je n'ai trouvée aucune info après plus d'une heure de surf sur le sujet...
 
Je n'ai aucune piste.  
 
Je suis largué...
 
Plize, help :cry:


Message édité par Roco le 21-05-2004 à 02:12:49

---------------
[:roco] Un chtit café et hop ça repart !
Reply

Marsh Posté le 21-05-2004 à 01:24:32   

Reply

Marsh Posté le 21-05-2004 à 14:39:24    

:bounce:  
 
Je désespère...


---------------
[:roco] Un chtit café et hop ça repart !
Reply

Marsh Posté le 21-05-2004 à 15:15:48    

Plus d'informations sur : http://www.developpez.net/forums/v [...] 90#1072590


---------------
[:roco] Un chtit café et hop ça repart !
Reply

Marsh Posté le 21-05-2004 à 15:51:26    

En rajoutant :  
 

Code :
  1. <%
  2.     Vector v = (Vector) request.getAttribute("liste" );
  3.     Iterator i = v.iterator();
  4.     while (i.hasNext()) {
  5.     message = (MessageBean)i.next();
  6.     request.setAttribute("message", message); // Cette ligne  
  7. %>
  8. <jsp:getProperty name="message"  property="titre" />
  9. <% } %>


 
Cela fonctionne.  
 
Mais je ne comprends alor pas l'intêret de mettre les beans dans un vecteur, si c'est après pour les remettre avec un setAttribute... Ca ne me paraît pas très logique...  
 
J'aimerais qu'on me donne plus d'informations...


Message édité par Roco le 21-05-2004 à 15:51:49

---------------
[:roco] Un chtit café et hop ça repart !
Reply

Marsh Posté le 21-05-2004 à 16:33:05    

une bonne façon de comprendre les choses c'est de regarder le code des servlets générées à partir des jsp : ca démystifie pas mal les choses ... tu comprendra pkoi ton truc marche pas;
 
 
 
Sinon, quand tu fais des jsp, en gros y a 2 façons de faire :  
 - sale et rapide (pour un développeur) : tu fais tout en scriplet (dans des <% ... %> ). C'est dégueulasse parce que ca mélange le code avec l'affichage, c'est difficilement maintenable, tout ca ...
 - propre et plus lourd : tu fais tout en JSTL (voir ici pour un tuto rapide). Pas un poil de code dans tes pages, mais ca nécessite de bien avoir fais les choses en ammont (toutes les données dans des beans, etc ...)
 
toi tu fais un peu un mix des deux => ca coince. Conclusion : si tu veux aller vite, te fais pas chier avec les <jsp:usebean>, si tu veux faire propre, regarde du côté de la jstl (ou des jsp2 (ce qui revient au même) si ton serveur les supportent)


Message édité par benou le 21-05-2004 à 16:33:37

---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 21-05-2004 à 16:49:52    

Je tire quand même l'exmple d'un bouquin :(  
 
Je trouvais que ça avait l'avantage de bien montrer le MVC.
 
Pour les JSTL, je ne vois pas en quoi il faut créer des beans avant... Il suffit d'utiliser les balise <sql> pour faire une requête.


---------------
[:roco] Un chtit café et hop ça repart !
Reply

Marsh Posté le 21-05-2004 à 17:00:43    

Roco a écrit :

Je tire quand même l'exmple d'un bouquin :(


 :sweat:  
 

Roco a écrit :


Je trouvais que ça avait l'avantage de bien montrer le MVC.


ha bon, tu trouves ??? :/
 

Roco a écrit :


Pour les JSTL, je ne vois pas en quoi il faut créer des beans avant... Il suffit d'utiliser les balise <sql> pour faire une requête.


ouais, ca dépend de ce que tu fais ...
Si tu fais les choses propremement, tu ne fais pas de requête SQL dans les JSP ... tu ne te sers des JSP que pout faire l'affichage.


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed