IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Servlets/JSP Java Discussion :

Problème dans mon JSP


Sujet :

Servlets/JSP Java

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2005
    Messages : 14
    Points : 7
    Points
    7
    Par défaut Problème dans mon JSP
    Bonjour à tous, j'ai un problème qui est le suivant :
    Erreur de servlet générée:
    Type mismatch: cannot convert from int to String
    Erreur de servlet générée:
    Type mismatch: cannot convert from int to String

    Je pense qu'il s'agit du test if jour <10 et mois <10 , mais je ne vois pas pourquoi il me fait cela , le reste fonctionne parfaitement, qui peut me dire comment convertir ou alors la syntaxe correcte, jour mois et annee sont pourtant bien des Int, c'est urgent en plus et je ne trouve pas.
    Voici le bout de code concerné :


    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
    Calendar calendar = new GregorianCalendar();
    				int jour = calendar.DAY_OF_MONTH;
    				int mois = calendar.MONTH +1;
    				int annee = calendar.YEAR;
    					if ( jour < 10)
    					{
    					 	if ( mois < 10)
    					 	{
    					   		lstr_operationHolder.value.demanddate = annee + "0" + mois + "0" + jour;
    					   		lstr_operationHolder.value.effectdate = annee + "0" + mois + "0" + jour;
    					   	}
    					 	else
    					 	{
    					   		lstr_operationHolder.value.demanddate = annee + mois + "0" + jour;
    					   		lstr_operationHolder.value.effectdate = annee + mois + "0" + jour;
    					 	}
    					}
    					else
    					{
    					  	lstr_operationHolder.value.demanddate = annee + mois + jour;
    					  	lstr_operationHolder.value.effectdate = annee + mois + jour;
    					}
    [ Modéré par Viena ]
    Ajout balises de code : Pensez aux balises [code], votre message est plus lisible et la lecture plus facile.

    Les Règles du Forum

  2. #2
    zev
    zev est déconnecté
    Membre actif
    Inscrit en
    Octobre 2004
    Messages
    204
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 204
    Points : 220
    Points
    220
    Par défaut
    lstr_operationHolder.value.demanddate est de quel type ?

  3. #3
    Membre expérimenté
    Avatar de viena
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    1 071
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 1 071
    Points : 1 512
    Points
    1 512
    Par défaut
    A tout hasard, essaie
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    lstr_operationHolder.value.demanddate = "" + annee + "0" + mois + "0" + jour;
    Et ainsi de suite pour les autres lignes.

    NB : il serait quand même beaucoup plus propre d'utiliser des StringBuffer

  4. #4
    zev
    zev est déconnecté
    Membre actif
    Inscrit en
    Octobre 2004
    Messages
    204
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 204
    Points : 220
    Points
    220
    Par défaut
    ou mieux, des SimpleDateFormat

  5. #5
    zev
    zev est déconnecté
    Membre actif
    Inscrit en
    Octobre 2004
    Messages
    204
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 204
    Points : 220
    Points
    220
    Par défaut
    J'ai posté un truc sur les dates:
    http://www.developpez.net/forums/sho...d.php?t=156494

    En résumé, tu veux :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    // Aujourdhui
    Calendar calendar = new GregorianCalendar();
    // Mois suivant (gère les changement d'année)
    calendar.add(Calendar.MONTH, 1);
     // Le format de la date
    SimpleDateFormat sdf  = new SimpleDateFormat("yyyyMMdd");
    // Transformation en String
    lstr_operationHolder.value.demanddate = sdf.format(calendar.getTime());
    lstr_operationHolder.value.effectdate = sdf.format(calendar.getTime());
    en faisant attention que lstr_operationHolder.value.demanddate soit bien un String...

    C'est pas merveilleux ce SimpleDateFormat ?
    Et puis ça t'évitera d'avoir 13 au lieu de 1 comme valeur de mois si on est en décembre...

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2005
    Messages : 14
    Points : 7
    Points
    7
    Par défaut
    merci Zev ca marche impeccable, sauf que la effectdate passe au mois suivant par rapport a la demanddate, tu as une idée sur cela??
    Merci à tous pour ces réponses rapides

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2005
    Messages : 14
    Points : 7
    Points
    7
    Par défaut
    C'est le calendar.add(Calendar.MONTH, 1); qui fait cela, est il obligatoire ????

  8. #8
    zev
    zev est déconnecté
    Membre actif
    Inscrit en
    Octobre 2004
    Messages
    204
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 204
    Points : 220
    Points
    220
    Par défaut
    Ben non il est pas obligatoire.
    C'était pour remplacer ton :

    int mois = calendar.MONTH +1;

    parce que si on est en decembre tu auras mois = 13...

  9. #9
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2005
    Messages : 14
    Points : 7
    Points
    7
    Par défaut
    Ah bon? Pourtant sans mettre cette ligne je récupère bien 6 pour le mois de Juin , je ne comprends pas pourquoi j'aurai 13 en décembre, tu peux m'expliquer ?

  10. #10
    zev
    zev est déconnecté
    Membre actif
    Inscrit en
    Octobre 2004
    Messages
    204
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 204
    Points : 220
    Points
    220
    Par défaut
    Oublie cette ligne.
    Si tu veux la date du jour tu n'as pas besoin de la modifier avec .add()

    Je pensais que tu voulais avoir le mois d'apres parce que dans TON code tu faisais calendar.month + 1.
    Et donc en decembre (12), le mois d'apres c'est janvier (1), mais si tu fait calendar.month + 1 tu obtiens 13 au lieu de 1, alors que la methode .add() te donneras bien janvier de l'annee suivante.
    Mais si tu ne veux pas modifier la date, tu n'as pas toutes ces questions à te poser.

  11. #11
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2005
    Messages : 14
    Points : 7
    Points
    7
    Par défaut
    Autre question , l'heure retournée si je teste maintenant 13h32 j'obtiens 01:22
    Ca m'embête car je ne sais pas dire si je suis au matin ou après midi...
    C'est la fonction ou alors c'est un paramétrage dans le serveur à faire ????

  12. #12
    zev
    zev est déconnecté
    Membre actif
    Inscrit en
    Octobre 2004
    Messages
    204
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 204
    Points : 220
    Points
    220
    Par défaut
    Faut changer le simpledateformat.
    "yyyyMMdd HH:mm:ss" pour avoir l'heure.
    (hh te donne en am/pm, HH de 0 à 23h)

    Plein de formats là :
    http://java.sun.com/j2se/1.4.2/docs/...ateFormat.html

  13. #13
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2005
    Messages : 14
    Points : 7
    Points
    7
    Par défaut
    MErci beaucoup j'avais mis hh à la palce de HH

    [ Modéré par Viena ]
    Ajout tag résolu : Pensez au tag [Résolu], c'est rapide et ça évite de passer du temps à ouvrir des posts qui ont déjà une réponse.

    Les Règles du Forum

  14. #14
    Membre expérimenté
    Avatar de viena
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    1 071
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 1 071
    Points : 1 512
    Points
    1 512
    Par défaut
    Résolu donc ?

  15. #15
    zev
    zev est déconnecté
    Membre actif
    Inscrit en
    Octobre 2004
    Messages
    204
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 204
    Points : 220
    Points
    220
    Par défaut
    Oui
    Il mérite un gage.
    Rédiger la FAQ sur les calendar !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 03/05/2007, 09h00
  2. [PHP-JS] problème dans mon script
    Par kawther dans le forum Langage
    Réponses: 2
    Dernier message: 17/04/2007, 08h57
  3. problème dans mon script
    Par kawther dans le forum Langage
    Réponses: 1
    Dernier message: 21/03/2007, 16h40
  4. Réponses: 13
    Dernier message: 17/10/2006, 15h35
  5. [MySQL] Problème dans mon script de pagination
    Par speedylol dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 03/11/2005, 19h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo