[JSP/SEVLET] Différences ? Dans quel cas Servlet, plutôt que JSP. HELP

Différences ? Dans quel cas Servlet, plutôt que JSP. HELP [JSP/SEVLET] - Java - Programmation

Marsh Posté le 22-04-2004 à 11:29:44    

Salut :hello:  
 
Après avoir lu l'excellent article que m'a fourni Benou : http://www.javaworld.com/javaworld [...] mvc_p.html, je me pose encore quelques questions...
 
Je suis habitué à programmer comme un cochon, c-a-d en n'utilisant que des JSP et donc en mélangeant allégremment la présentation et les "fonctions".
 
Alors, je me demande quand il faut utiliser une Servlet ?
 
Je dois faire des trucs assez simple comme :
 
La gestion des utilisateurs (session)
Des requêtages vers une bdd (jdbc)
 
Quelqu'un aurait-t-il des conseils et/ou des exmples à me fournir.
 
Merci d'avance,


Message édité par Roco le 22-04-2004 à 18:25:12
Reply

Marsh Posté le 22-04-2004 à 11:29:44   

Reply

Marsh Posté le 22-04-2004 à 11:48:02    

Renseigne toi sur le design pattern MVC, puis sur JSF (il y a 6 mois j'aurais encore dit Struts, mais apparemment JSF va prendre sa place).
 
Sinon un modèle simple et propre (au moins par rapport à tout mettre dans les JSP) :
- la servlet qui contrôle le flux de ton appli (pas de html dans les servlets)
- les jsp pour la présentation (que du html et des taglibs, pas de java)
- les données dans dans de simples javabeans
- le métier dans des classes spécifiques

Reply

Marsh Posté le 22-04-2004 à 12:07:01    

Je ne trouve rien de très clair sur MVC.
 
Je ne sais pas si je dois utiliser JSF. Cela a-t-il un intêret pour un petit projet ? As-tu un didacticiel ? Est-ce une technologie rapide à maîtriser ? Quelqu'un pourrait-il me fournir un exemple simple et clair ?
 
Pour le reste, je verrai plus tard...

Reply

Marsh Posté le 22-04-2004 à 12:09:16    

Faut maîtriser les JSTL pour JSF ?
 
Faut coupler les 2 ?

Reply

Marsh Posté le 22-04-2004 à 12:13:56    

Avant d'utiliser JSF, si c'est pour un petit projet, il vaut mieux que tu apprennes à faire tout "à la main".
En très gros l'utilité des servlets / JSP c'est : la servlet traite les requetes du client, utilise les objets métier pour effectuer les traitements nécessaires, puis transmet les résultats de ces traitements à une JSP qui les affiche.


---------------
Au royaume des sourds, les borgnes sont sourds.
Reply

Marsh Posté le 22-04-2004 à 12:18:22    

Ok, mais moi je suis habitué à faire le bourin.
 
En gros, dans une page qui affiche les données provenant d'une base de données, je crée ma connexion, ma requête et hop c'est partie, je lance la sauce.
 
Malheureusement, je n'ai pas de page d'exmple sous la main...
 
Quelqu'un pourrait-il me faire un mini exemple avec une base de données fictive Avec une page JSP simple et une servlet de traitement ?
 
Je pourrais ainsi mieux voir la séparation des traitements...
 
Merci d'avance :sweat:

Reply

Marsh Posté le 22-04-2004 à 13:40:13    

je comprends pas que tu te poses encore cette question après avoir lu l'article ...
 
Dans un modèle MVC, ca va se passer comme ca :  
Tu as 3 couches :  
 - une couche métier : l'API qui te permet d'effectuer les traitement et de récupérer les données de ton application. En J2EE, cette couche métier serait composée d'EJB, mais ce n'est pas une obligation ...
 - une chouche controlleur : les servlets. Elles sont chargées de recevoir les demandes de l'interface, d'analysée les informations envoyées par celle-ci (parametres), d'appeler la couche métier pour faire les traitement adéquates et récupérer les données nécessaire. Elle est encsuite chargée d'appeler la coucher présentation (en lui passant les données nécessaires) pour afficher le "résultat".
 - une couche présentation : les JSP. Elles ne font que d'afficher la page résultat. Aucun traitement ne doit être fait. Elles récupèrent juste les données envoyées par le controlleur et elle les mets en page. Généralement, quand on veut faire ca proprement, on utilise la JSTL et autres taglibs d'affichage.
 
mais bon, là j'ai rien expliqué de plus que ce qu'il y avait dans le lien que je t'ai filé.
 
pkoi tu as créé un nouveau topic au fait ?

Reply

Marsh Posté le 22-04-2004 à 13:41:31    

je me pose la mm question.  
 
si kk'un a un exemple concret ... :)

Reply

Marsh Posté le 22-04-2004 à 13:57:50    

Franchement, je pense ne pas pouvoir améliorer ma programmation sans avoir un exemple concret...
 
Il me faudrait un exemple simple genre j'ai une requête vers une bdd, soit carrément un ensemble de page permettant de se loguer sur un site internet
 
Alors de deux choses l'une :
 
1/ Soit quelqu'un a un de ses trucs et s'il peut me le poster, ce sera génial.
 
2/ Soit je le code en faisant de mon mieux et je mets le résultat sur ce post dans quelques heures (on va mettre entre 1 et 3 heures). Et à ce moment-là, vous me dites ce qui va pas.
 
Voilà,
 
Et merci à tout le monde (en plus ça fait plaisir de voir que je ne suis pas le seul à me poser cette question qui n'est pas très évidente).
 
P.S. pour Benou : le titre du sujet ne me paraissaît pas approprié et je préférais lancer un nouveau sujet tout neuf et tout propre.

Reply

Marsh Posté le 22-04-2004 à 14:31:17    

exemple :  
couche métier

Code :
  1. /** exemple de classe métier : elel gère la connexiond es utilisateur.
  2. L'implémentation pourrait utiliser une BDD pour vérifier les login */
  3. public class UserManager {
  4.    public UserManager (File propertyFile) throws InitException {
  5.        // initialisation du manager
  6.    }
  7.    public User userAuthtication(String login, String pwd)
  8.       throws AuthenticationFailedException   {
  9.       // verif en base ...
  10.    }
  11. }


 
couche controler

Code :
  1. public class AuthenticationServlet extends HttpServler {
  2.    private UserManager userManager;
  3.    public void init() throws ServletException {
  4.       String filePath = this.getServletConfig().getInitParameter("userManagerConfigFile);
  5.       if (filePath == null) {
  6.          throw new ServletException ("userManagerConfigFile parameter is mandatory" );
  7.       }
  8.       try {
  9.          this.userManager = new UserMAnager(new File(filePath ));
  10.       } catch (InitException e) {
  11.          throw new ServletException(e);
  12.       }
  13.    }
  14.    public void doPost(HttpSevletequest request, HttpServletResponse)
  15.       throws ServletException, IOexception {
  16.       String login = request.getParameter("login" );
  17.       String pwd = request.getParameter("pwd" );
  18.       User user;
  19.       try {
  20.          user = this.userManager.userAuthtication(login, password);
  21.       } catch (AuthenticationFailedException  e) {
  22.          // passe l'exception à la jsp au cas où elle veille s'en servir
  23.          request.setAttribute("authenticationError", e);
  24.          RequestDispatcher disp = this.getServletContext().getRequestDispatcher("/authenticationFailed.jsp" );
  25.          disp.forward(request, response);
  26.          return;
  27.       }
  28.       request.getSession().setAttribute("user", user);
  29.       RequestDispatcher disp = this.getServletContext().getRequestDispatcher("/authenticationSuccess.jsp" );
  30.       disp.forward(request, response);
  31.       return;
  32.    }
  33. }


 
je vous laisse imaginer la tête des JSP ...

Reply

Marsh Posté le 22-04-2004 à 14:31:17   

Reply

Marsh Posté le 22-04-2004 à 15:44:17    

Ben voilà le genre de trucs pourri que je ponds :
 

Code :
  1. <%@ page import="java.sql.*" %>
  2. <html>
  3. <head>
  4. </head>
  5. <body>
  6. <%
  7.   Class.forName("oracle.jdbc.driver.OracleDriver" );
  8.   Connection con = DriverManager.getConnection("Magenta31", "RSA", "RSA" );
  9.   ResultSet res = null;
  10.   String req = "SELECT * FROM TAB";
  11.   try {
  12.      Statement stmt = con.createStatement();
  13.      res = stmt.executeQuery(req);
  14.   } catch (SQLException e) {
  15.      out.println(e);
  16.   }
  17.   try {
  18.    while (res.next()) {
  19.            System.out.print(rs.getString(i));
  20.   }
  21.   catch (SQLException e) {
  22.     //traitement de l'exception
  23.   }
  24. %>
  25. </body>
  26. </html>


 
C'est pas terrible non ?
 
Ca donne quoi en remodelant un peu ?

Reply

Marsh Posté le 22-04-2004 à 16:07:13    

bah oui c'est tout de mm assez pourri :)
 
toute ta methode de connexion à la base de la met dans une classe db.java avec une methode getConnexion() (avec tomcat en pool) et dans ce db tu mets tes getAllUser() getAllBrosseaDent() .. qui te renvoie des Vector de bean qui tu as crée avant enfin cé comme caque je m'y prend..
comme ca dans ton jsp tu n'as plu qu'à faire  
 
 
Vector dentifrices = db.getConnexion().getAllDentifrice();
 
et donc là tu n'as plus qu'à afficher tous les DentifriceBean de ton vector ...
 
mais apres moi perso je sais mm pas faire dialoguer un servlet d'un jsp :( c'est la honte!

Reply

Marsh Posté le 22-04-2004 à 16:10:25    

NEED HELP  :cry:  
 
Tu peux me parler en français et me filer des exemples comme si j'étais un gamin de 6 ans.
 
L'exemple de Benou est trop compliqué pour moi...

Reply

Marsh Posté le 22-04-2004 à 18:02:08    

encore un bon lien, mais le mec ne va pas jusqu'au bout en montrant la partie jsp : http://www.inrialpes.fr/helix/peop [...] pp_6pp.pdf

Reply

Marsh Posté le 22-04-2004 à 18:02:16    

Roco a écrit :

L'exemple de Benou est trop compliqué pour moi...


 :heink:  
 
 
faut y mettre du tiens aussi, hein !
 
et qu'est ce que ca a de compliqué ?

Reply

Marsh Posté le 22-04-2004 à 18:06:05    

tu peux pas me pondre un truc simple genre la traduction de ma page JSP...
 
Y'a trop de gros mots dans ton code :
 

Citation :

UserManager (File propertyFile) throws InitException


 
=> Toi-même !
 

Citation :

RequestDispatcher disp = this.getServletContext().getRequestDispatcher("/authenticationFailed.jsp" );


 
=> A Monsieur, je ne vous permets pas !
 
Nan sérieux, matte le lien que j'ai balancé en dernier, il est pas mal mais le mec ne donne pas l'architecture complète avec le JSP associé.
 
MERCI BCP BENOU DE M'AIDER !!! (DARK, NE ME LAISSE PAS TOMBER)
 

Reply

Marsh Posté le 23-04-2004 à 11:08:11    

Je me permets de m'insérer dans ce topic pour soutenir Benou  :)
Si tu trouves que les exceptions c'est trop compliqué, commence par t'y former, parce qu'en Java tu es obligé de passer par là...
Pour résumer, au niveau de ta servlet tu recois les paramètres en provenance de la page sur laquelle tu viens de faire un submit :

Code :
  1. String login = request.getParameter("login" );
  2. String pwd = request.getParameter("pwd" );


 
Puis tu appelles une autre classe Java qui fait le traitement approprié (ici un UserManager pour vérifier la validité du login et du mdp; c'est donc lui qui accède à la base de données ; le résultat retourné est un objet User dans lequel tu as toutes les infos sur ton utilisateur).

Code :
  1. User user;
  2. user = this.userManager.userAuthtication(login, password);


 
Puis tu transmets le résultat dans ta session (si tu veux que tes données restent jusqu'a ce que tu les enlèves ; par exemple pour stocker l'utilisateur actuellement connecté) ou dans ta requête (pour transmettre uniquement à la page suivante)
Dans la session :  

Code :
  1. request.getSession().setAttribute("beanUser", user);


Dans la requete :  

Code :
  1. request.setAttribute("beanUser", user);


 
Ensuite tu fais suivre ta requete à ta page suivante (qui, on l'imagine, affiche l'écran d'accueil pour la personne qui vient de se connecter)

Code :
  1. RequestDispatcher disp = this.getServletContext().getRequestDispatcher("/authenticationSuccess.jsp" );
  2. disp.forward(request, response);


                         
ENFIN, au niveau de ta jsp ("/authenticationSuccess.jsp" ), tu peux récuperer tes infos de deux manières différentes :
 - soit avec les taglibs JSP
au début de ta page tu mets un (j'écris ca de tête, vérifie la syntaxe)

Code :
  1. <jsp:usebean id="beanUser" class="monPackage.UserManager" scope="request"/>


Le "scope" définit où ton bean est stocké => soit "request", soit "session"
L'id définit le nom d'instance utilisé pour ton bean dans ta page.
ensuite tu peux afficher des propriétés de ton bean en faisant des  

Code :
  1. <jsp:getproperty name="beanUser" property="userName"/>"


 
 - soit avec du code java

Code :
  1. <jsp:usebean id="beanUser" class="monpackage.User" scope="request"/>


est équivalent à

Code :
  1. monpackage.User beanUser = (monpackage.User) request.getAttribute("beanUser" );


 
et

Code :
  1. <jsp:getproperty name="beanUser" property="userName"/>"

est équivalent à

Code :
  1. <%= beanUser.getUserName() %>


Reply

Marsh Posté le 23-04-2004 à 11:23:32    

quel courage swgreedo  :sweat:  
 
:jap:


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

Marsh Posté le 23-04-2004 à 11:26:58    

Si on peut donner un coup de main... :jap:

Reply

Marsh Posté le 23-04-2004 à 14:33:10    

Merci bcp.
 
J'ai beaucoup de lacunes.
 
Je ne connais pas les JSTL encore...
 
Pour l'instant, je suis dans la config de Tomcat, mais dès que j'ai le temps, je reviens dessus !

Reply

Marsh Posté le 23-04-2004 à 14:38:37    

OK
Quand tu t'y remettras, essaie surtout de voir les choses de manière très structurée :
 - les JSP ne servent qu'a afficher ce que leur transmet la servlet
 - ta servlet récupère des requetes, appelle la couche métier et transmet les résultats a des JSP
 - la couche métier ne fait que les traitements (dans l'idéal elle appelle la couche données qui est la seule à s'occuper des accès a la BD)
Bon courage  :hello:

Reply

Marsh Posté le 23-04-2004 à 14:47:14    

ben bravo en tout cas benou et swgreedo :sweat:


---------------
IVG en france
Reply

Marsh Posté le 23-04-2004 à 14:53:53    

Oui, c'est dur de s'occuper des  :pt1cable:  
 
Non, sérieusement, ce n'est pas évident de devenir un pro de Java...

Reply

Marsh Posté le 23-04-2004 à 15:02:20    

Roco a écrit :

Oui, c'est dur de s'occuper des  :pt1cable:  
 
Non, sérieusement, ce n'est pas évident de devenir un pro de Java...


 
je sais pas, j'en suis pas encore un  ;)


---------------
IVG en france
Reply

Marsh Posté le 29-04-2004 à 15:07:53    

Je viens de découvrir les JSTL grâce à http://perso.wanadoo.fr/jm.doudoux [...] #CHAP_35_6.
 
Ca m'a l'air super puissant cet outil !
 
Par contre, pour les utiliser :
 
1/ J'ai seulement copier les fichiers jstl.jar et standard.jar dans le WEB-INF/lib de mon application.
 
2/ Je n'ai pas touché au fichier web.xml.
 
Ca marche comme cela.
 
Question n°1 : Faut-il modifier le fichier web.xml et faire d'autres choses ?
 
Etant donné que l'application sur laquelle je bosse actuellement est très simple. Il n'y a (dans la première version) que des requêtes vers une base de données et une gestion des sessions.  
 
Question N°2 : Puis-je me contenter d'utiliser des JSTL et cela respecte-il le MVC ?
 
Voici mon exemple de page que vous pouvez critiquer :
 

Code :
  1. <%@ taglib uri="http://java.sun.com/jstl/core" prefix="c" %>
  2. <%@ taglib uri="http://java.sun.com/jstl/sql" prefix="sql" %>
  3. <html>
  4. <head>
  5.  <title>Formation</title>
  6. </head>
  7. <body>
  8.  <sql:setDataSource driver="oracle.jdbc.driver.OracleDriver" url="jdbc:oracle:thin:@XXXXX:1521:XXXXX" user="XXX" password="XXX"/>
  9.  <sql:query var="result" sql="SELECT nom FROM personne"/>
  10.  <c:forEach var="row" items="${result.rows}">
  11.   <c:out value="${row.nom}"/>
  12.   <c:out value="${row.age}"/>
  13.  </c:forEach>
  14. </body>
  15. </html>

Reply

Marsh Posté le 11-06-2004 à 15:48:10    

Roco a écrit :


Code :
  1. <%@ page import="java.sql.*" %>
  2. <html>
  3. <head>
  4. </head>
  5. <body>
  6. <%
  7.   Class.forName("oracle.jdbc.driver.OracleDriver" );
  8.   Connection con = DriverManager.getConnection("Magenta31", "RSA", "RSA" );
  9.   ResultSet res = null;
  10.   String req = "SELECT * FROM TAB";
  11.   try {
  12.      Statement stmt = con.createStatement();
  13.      res = stmt.executeQuery(req);
  14.   } catch (SQLException e) {
  15.      out.println(e);
  16.   }
  17.   try {
  18.    while (res.next()) {
  19.            System.out.print(rs.getString(i));
  20.   }
  21.   catch (SQLException e) {
  22.     //traitement de l'exception
  23.   }
  24. %>
  25. </body>
  26. </html>




Il marche ce code Roco ??? Car deja g l'impression qu'il manque un } a la toute fin...
js suis peut etre encore plus debutant que tout le monde, ms je cherche a e connecter a ma BDD oracle et je n'y parvient pas...
Un peu d'aide pr un autre  :pt1cable:

Reply

Marsh Posté le 11-06-2004 à 16:54:59    

Est-ce qu'il faut creer a la main une connexion JDBC ou alors tomcat gere ca tout seul??

Reply

Marsh Posté le 11-06-2004 à 20:18:35    

G enfin reussit a me connecter a Oracle.
Si vous voulez mon code:
http://forum.hardware.fr/forum2.ph [...] subcat=390

Reply

Marsh Posté le 12-06-2004 à 22:25:48    

Ben moi j'ai plus ou moin le même probleme.
Quoi que moi je comprend le coté  
métier traitement et affichage. Par contre dans mon cas je voulais utiliser les session dans un bean et là je me eurte à un probleme c'est coté code ou implentation je n'arrive pas a disserner entre le bean ou les servlet. Je sais qu'une servlet peut etre exploiter directement via le naviageteur http pas les bean, je sais appeller un bean via une page JSp.
Bref la confusion total, ça se trouve je m'embrouille tous seul !

Reply

Marsh Posté le 13-06-2004 à 02:39:07    

[:drapal] ca tombe a point nommé
 
swgreedo > merci, c'est très clair  :jap:


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
Reply

Marsh Posté le 14-06-2004 à 10:09:43    

Citation :

swgreedo > merci, c'est très clair  :jap:


Cool, je n'ai pas fait ce super message pour rien  :)  
 

Citation :

Ben moi j'ai plus ou moin le même probleme.  
Quoi que moi je comprend le coté  
métier traitement et affichage. Par contre dans mon cas je voulais utiliser les session dans un bean et là je me eurte à un probleme c'est coté code ou implentation je n'arrive pas a disserner entre le bean ou les servlet. Je sais qu'une servlet peut etre exploiter directement via le naviageteur http pas les bean, je sais appeller un bean via une page JSp.  
Bref la confusion total, ça se trouve je m'embrouille tous seul !


Wopopop (comme dirait JM Larqué), je crois qu'effectivement tu t'embrouilles un peu. Il faudrait que tu reformules ta/tes questions :

Citation :

utiliser les sessions dans un bean


Normalement c'est l'inverse : un bean est un objet qui contient des données et que tu places soit dans ta session (pour qu'il soit maintenu pendant toute la session de l'utilisateur ; exemple : le "panier" dans un site d'e-commerce) soit dans la request (pour une utilisation unique)

Citation :

Je n'arrive pas a disserner entre le bean ou les servlet. Je sais qu'une servlet peut etre exploiter directement via le naviageteur http pas les bean, je sais appeller un bean via une page JSp


Il faudrait vraiment que tu reformules...

Reply

Marsh Posté le 14-06-2004 à 12:38:51    

swgreedo a écrit :

Citation :

swgreedo > merci, c'est très clair  :jap:


Cool, je n'ai pas fait ce super message pour rien  :)  
 

Citation :

Ben moi j'ai plus ou moin le même probleme.  
Quoi que moi je comprend le coté  
métier traitement et affichage. Par contre dans mon cas je voulais utiliser les session dans un bean et là je me eurte à un probleme c'est coté code ou implentation je n'arrive pas a disserner entre le bean ou les servlet. Je sais qu'une servlet peut etre exploiter directement via le naviageteur http pas les bean, je sais appeller un bean via une page JSp.  
Bref la confusion total, ça se trouve je m'embrouille tous seul !


Wopopop (comme dirait JM Larqué), je crois qu'effectivement tu t'embrouilles un peu. Il faudrait que tu reformules ta/tes questions :

Citation :

utiliser les sessions dans un bean


Normalement c'est l'inverse : un bean est un objet qui contient des données et que tu places soit dans ta session (pour qu'il soit maintenu pendant toute la session de l'utilisateur ; exemple : le "panier" dans un site d'e-commerce) soit dans la request (pour une utilisation unique)

Citation :

Je n'arrive pas a disserner entre le bean ou les servlet. Je sais qu'une servlet peut etre exploiter directement via le naviageteur http pas les bean, je sais appeller un bean via une page JSp


Il faudrait vraiment que tu reformules...


Bon effectivement je me suis embrouillé. En faite, au moment ou j'ai écris ceci j'étais en plein problème lié a mes jsp/bean et session. Maintenant que ça fonctionne j'ai commencé à comprendre les rôles de chacun.J2EE est bien fait pour ça. :)

Reply

Marsh Posté le 14-06-2004 à 14:12:16    

OK
Si tu as d'autres questions existentielles n'hésite pas :)

Reply

Marsh Posté le 14-06-2004 à 16:23:37    

je met un [:blueflag]
intéressant ce topic :)

Reply

Marsh Posté le 16-06-2004 à 17:13:27    

benou > il roxxe ton lien : http://www.javaworld.com/javaworld [...] mvc_p.html
 
merci   :jap:  
 
en même temps, il sépare pas trop la presentation du traitement .. alors me demande si c'est si bien que ca ......
 
vous ne connaissez pas un doc qui distingue bien les deux ?  
thx :)


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
Reply

Marsh Posté le 16-06-2004 à 18:40:55    

simogeo a écrit :

en même temps, il sépare pas trop la presentation du traitement .. alors me demande si c'est si bien que ca ......


 :??:


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

Marsh Posté le 16-06-2004 à 19:00:48    


t'as pas compris ? [:dawa]


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
Reply

Marsh Posté le 16-06-2004 à 19:03:13    

simogeo a écrit :

t'as pas compris ? [:dawa]


J'ai pas compris pkoi tu dis qu'ils séparent pas bien la présentation du traitement ...


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

Marsh Posté le 16-06-2004 à 19:16:19    

Code :
  1. <table border="0" cellpadding="0" width="100%" bgcolor="#FFFFFF">
  2. <tr>
  3. <td><b>ALBUM</b></td>
  4. <td><b>ARTIST</b></td>
  5. <td><b>COUNTRY</b></td>
  6. <td><b>PRICE</b></td>
  7. <td><b>QUANTITY</b></td>
  8. <td></td>
  9. </tr>
  10. <%
  11.   for (int index=0; index < buylist.size();index++) {
  12.    CD anOrder = (CD) buylist.elementAt(index);
  13. %>
  14. <tr>
  15.   <td><b><%= anOrder.getAlbum() %></b></td>
  16.   <td><b><%= anOrder.getArtist() %></b></td>
  17.   <td><b><%= anOrder.getCountry() %></b></td>
  18.   <td><b><%= anOrder.getPrice() %></b></td>
  19.   <td><b><%= anOrder.getQuantity() %></b></td>
  20.   <td>
  21.    <form name="deleteForm"
  22.     action="/examples/servlet/ShoppingServlet"
  23.     method="POST">
  24.    <input type="submit" value="Delete">
  25.    <input type="hidden" name= "delindex" value='<%= index %>'>
  26.    <input type="hidden" name="action" value="DELETE">
  27.   </form>
  28.       </td>
  29.     </tr>
  30.     <% } %>
  31.   </table>


 
ben ca d'apres ce que j'ai lu ailleurs y'a moyen de le presenter autrement avec un systeme de tags non !?


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
Reply

Marsh Posté le 16-06-2004 à 19:24:48    

simogeo a écrit :

[cpp]
ben ca d'apres ce que j'ai lu ailleurs y'a moyen de le presenter autrement avec un systeme de tags non !?


ouais avec des tags lib, mais bon, là ce que font des scriplets c'est que de l'affichage (de la lecture), pas de traitement ... donc c'est bien un MVC, y a pas de problème.
 
Perso, je vois aucun problème à utiliser ca plutot que des tags libs. C'est un peu moins propore, mais c'est aussi beaucoup moins restricif.
 
Ca m'arrive souvent de faire un modèle MVC comme ca pour aller vite ...


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

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

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