creation d un compteur en jsp

creation d un compteur en jsp - Java - Programmation

Marsh Posté le 06-02-2005 à 15:27:44    

Bonjour le forum,  
 
voila j ai passe pas mal de temps sur monp de compteur.  
 
je voudrais savoir comment faire ou si il est possible d initialiser une seul fois la variable dans un script jsp . pour mon exemple cette variable s appelle initcompteur  
voila le code :  
 
 

Code :
  1. <%int initcompteur =0
  2. String recup= request.getParameter ("var1" );
  3. int val = Integer.parseInt (recup);
  4. if (initcompteur>val)
  5. { out.print ("on continue de compter" );
  6. }
  7. else
  8. { out.print ("terminer" );}
  9. %>


 
voila en fait je voudrais rajouter un bouton valider qui a chaque action me rappelle ce script et rajoute un a la variable initcompteur .  
val est un entier recuperer qui fixe la valeur max a compter.  
 
mon pb c est qu a chaque re lecture du script (a chaque fois que j appui sur le bouton) je passe par intcompteur=0 ce qui fait que je remet tout le temps mon compteur a 0 .....  
 
comment faire pour initialiser une seul fois initcompteur dans mon script ?????  
 
je galere depuis hier dessus .  
 
qui peux me donner une piste .  
 
merci de votre lecture  
 
ruppert62

Reply

Marsh Posté le 06-02-2005 à 15:27:44   

Reply

Marsh Posté le 06-02-2005 à 15:43:47    

tu le passe en variable de session (ou d'application)

Code :
  1. int compteur = (Integer)application.getAttribute("compteur" );
  2. if(null == compteur) {
  3.     compteur = 0;
  4. }


 
et évidement quand t'as fini

Code :
  1. application.setAttribute("compteur", compteur);


Message édité par glod 2 le 06-02-2005 à 15:45:07
Reply

Marsh Posté le 06-02-2005 à 16:38:47    

Glod 2 a écrit :

Code :
  1. int compteur = (Integer)application.getAttribute("compteur" );



attention, ca marche seulement en java 1.5 ca ...

Reply

Marsh Posté le 06-02-2005 à 16:43:18    

ah ?

Reply

Marsh Posté le 06-02-2005 à 16:51:10    

ben le passage de int à Integer ca marche avec de l'autoboxing => 1.5

Reply

Marsh Posté le 06-02-2005 à 16:54:02    

ah ben oui :)

Reply

Marsh Posté le 06-02-2005 à 21:16:15    

oui mon pb c est que je ne trouve pas de solution pour initialiser une seul fois la variable int initcompteur; a chaque fois que je rappelle mon script avec le bouton action il me re lis tout le script .
j avais essayer de faire passer un int en Integer mais ca marche pas.
 
j ai entendu parler des champs cachés dans les formulaires .
est ce que je ne pourrai pas utiliser cette parade pour initialiser une seul  fois ma variable ?
merci de votre aide

Reply

Marsh Posté le 06-02-2005 à 21:24:33    

:(

Reply

Marsh Posté le 07-02-2005 à 12:51:31    

[:ciler]
 
non seulemenbt glod2 t'as donné la solution, mais en plus c'est l'exemple typique de n'importe quel tuto...
t'es sur que tu voudrais pas plutot faire du php? [:marc]


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

Marsh Posté le 07-02-2005 à 14:01:29    

benou a écrit :

ben le passage de int à Integer ca marche avec de l'autoboxing => 1.5


 
Et le

Code :
  1. if(null == compteur) {

marche aussi  :??:

Reply

Marsh Posté le 07-02-2005 à 14:01:29   

Reply

Marsh Posté le 07-02-2005 à 14:42:39    

ouais, pas faut, je pense pas que ca fonctionne ...
 
remarque, je dis ca, j'en sais rien ... c'est assez déroutant pour moi l'autoboxing. Faudra que je lise les règles d'application exacte parce que je sens que ca va me faire chier ce truc ...


Message édité par benou le 07-02-2005 à 14:43:46

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

Marsh Posté le 07-02-2005 à 15:22:06    

pascal_ a écrit :

Et le

Code :
  1. if(null == compteur) {

marche aussi  :??:


pourquoi ça marcherait pas :??:

Reply

Marsh Posté le 07-02-2005 à 15:26:56    

parce que compteur est déclaré "int" et qu'un int ne peut pas voiloir null ...


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

Marsh Posté le 07-02-2005 à 16:31:33    

Ah oui, en effet jme suis gourré
il faut tester le null == application.getAttribute("compteur" )
avant.
Enfin jme demande si ça passe pas quand même, jtesterai ce soir.

Reply

Marsh Posté le 08-02-2005 à 09:12:15    

merci de votre aide je vais tester cette portion  de code
 

Reply

Sujets relatifs:

Leave a Replay

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