[JSP] iteration propre avec ma taglib perso

iteration propre avec ma taglib perso [JSP] - Java - Programmation

Marsh Posté le 07-02-2007 à 23:17:31    

'soir
 
je suis en train de me programmer une tribune libre en J2EE, en essayant d'utiliser au maximum des trucs autours des JSP, pour l'instant. Je me suis fait une classe d'accès aux données, elle me retourne une liste de message à afficher qu'elle pique dans la base MySql via un DataSource et JDBC. Ca, ça marche.  
 
Maintenant de l'autre coté, j'ai une JSP :


<?xml version="1.0" encoding="ISO-8859-1" ?>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<%@ taglib uri="/bouchot" prefix="b" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<title>THe J2EE bouchot</title>
</head>
<body>
<h1>AH AH AH, this is my bouchot</h1>
<b:bouchot label="DLB">
 <h2>DLB : da lent bouchot </h2>
 <b:bouchotcontent number="20">
  <b:message>
    <span>message ${message.value}</span><br />
  </b:message>
 </b:bouchotcontent>
 <b:textfield name="message" />
</b:bouchot>
</body>
</html>  


 
On y voit l'utilisation de ma taglib, préfixée par b :o b:bouchotcontent demande au service de persistence des message à affiché (le nombre est configuré par l'attribut number). Dans mon BouchotContent.doStartTag(), j'ai donc une List<Message>. Mais maintenant, je veux les afficher. Mais pour l'instant, à part afficher 20 fois <span>message</span>, ça ne fait pas grand choses. Comment faire pour pouvoir utiliser chacun de ces message sous la forme d'une EL, comme ici avec ${message.value}.
 
Pour l'instant, ça m'affiche 20 fois message, ce qui est un bon début, mais pas encore la fin :o


---------------
JE JE SUIS LIBERTINEEEEEEEEEEE JE SUIS UNE CATINNNNNNNNN §§§§§§§§
Reply

Marsh Posté le 07-02-2007 à 23:17:31   

Reply

Marsh Posté le 07-02-2007 à 23:19:08    

dans le tag de b:message tu dois faire genre pageCtx.setAttribute("message", message)
 
 
et iiiiik, c'est ta taglib qui pull les données?

Reply

Marsh Posté le 07-02-2007 à 23:20:06    

setVariables ?
 
pour l'instant, oui. Mais je sens que c'est pas l'esprit :o

Reply

Marsh Posté le 07-02-2007 à 23:25:38    

elianor a écrit :

setVariables ?


euh possible, j'ai plus touché à ces trucs depuis jsp2 en fait :D


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 07-02-2007 à 23:31:43    

Ah non, c'est bien setAttributes. L'auteur du livre a ajouté une méthode setVariables qui surcharge quasi-connement pageContext.setAttribute....

Reply

Marsh Posté le 07-02-2007 à 23:35:06    

J'ai jamais de chance avec les livres sur les JSP [:sisicaivrai]

Reply

Marsh Posté le 07-02-2007 à 23:41:48    

ouais à l'époque je crois que j'en avais 3 et y'en avait qu'un de plus ou moins valable... ché pas si c'est parce que la techno est pourrie que les bouquins sont aussi pourris, ou juste que c'est tellement populo que les éditeurs éditent n'importe quoi ...
enfin, au fait, si tu veux te mettre à jour, t'as interet à déjà aller voir des trucs plus modernes, à moins que tu ne passes pas plus 2 soirs sur jsp, tu vas un peu perdre ton temps (ou finir dans une ssii moisie)

Reply

Marsh Posté le 07-02-2007 à 23:44:51    

pour l'instant, je fais un peu d'affichage, je vais aller voir pour ma persistance après. Peut être de l'EJB3 :o

Reply

Marsh Posté le 07-02-2007 à 23:45:12    

et JSF me pête le cul :/

Reply

Marsh Posté le 07-02-2007 à 23:53:35    

et j'ai bazardé <b:message> dans bouchotcontent, je suis durant une iteration. Cette tag était donc de trop :o

Reply

Marsh Posté le 07-02-2007 à 23:53:35   

Reply

Marsh Posté le 08-02-2007 à 09:17:58    

Mais je fais comment le lien entre les donnés et ma page ? J'ai mes bean instanciés par ma taglib, c'est quoi la bonne façon de faire ?
 
http://kadreg.org:8080/JBouchotProject/

Reply

Marsh Posté le 08-02-2007 à 12:41:07    

t'as un controlleur devant?

Reply

Marsh Posté le 08-02-2007 à 12:51:08    

non, rien. ma taglib sert de controleur :o

Reply

Marsh Posté le 08-02-2007 à 12:52:42    

enfin a pres tout le mvc est pas obligatoire hein [:nofret]

Reply

Marsh Posté le 08-02-2007 à 12:59:18    

c'est mon problème d'archi actuel en fait :o
 
ce soir, je fais une servlet pour poster :o

Reply

Marsh Posté le 08-02-2007 à 13:00:03    

tu fais une servlet pour tout.

Reply

Marsh Posté le 08-02-2007 à 13:05:53    

ma taglib appelant une servlet qui va réaliser la récuypération des données ?

Reply

Marsh Posté le 08-02-2007 à 13:29:20    

tu le fais exprès ?

Reply

Marsh Posté le 08-02-2007 à 13:31:44    

je n00b, c'est tout :/

Reply

Marsh Posté le 08-02-2007 à 13:35:27    

ha bon ok alors [:nofret]
ta servlet elle va faire tout: (en deleguant a des commandes si on veut etc, mais ça tu vas laisser un framework le faire pour toi pour la v2 hein) en gros, effectuer les actions demandées par la requete, et afficher la vue.
idée pour te forcer a faire ça: tu fous tes jsps sous WEB-INF.
en details, ta servlet va
* (on post) stocker le nouveau message puis "forwarder" la requete au point suivant (ici genre juste appeler la methode)
* récuperer les données qui vont bien (en fonction d'un param ptet),
* les foutre qque part dispo pour la vue (le cas de base c'est que tu fais requestAttribute.setAttribute("messages", messages);
* et afficher la vue (reqDispatcher.include())


Message édité par the real moins moins le 08-02-2007 à 13:37:26
Reply

Marsh Posté le 08-02-2007 à 13:53:28    

Ca me semble logique :o
 
V1, à la mano, V2 JSF :o

Reply

Marsh Posté le 08-02-2007 à 14:15:20    

jsf c'est pas un framework acion/command ou quoi que ce soit. enfin d'apres ce que j'ai compris, c'est "juste" un framework pour les composants graphiques. devant il te faut un autre truc (ou pas). (mais souvent les examples foutent du struts moisi devant)


Message édité par the real moins moins le 08-02-2007 à 14:15:30
Reply

Marsh Posté le 08-02-2007 à 14:42:29    

sisi :o
 
Ce con colle d'ailleurs du JS tout moisi dans les pages pour implémenter ses actions :/

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

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