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

Struts 1 Java Discussion :

probleme de conversion


Sujet :

Struts 1 Java

  1. #1
    Membre averti
    Inscrit en
    Octobre 2006
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 19
    Par défaut probleme de conversion
    bonjour
    j'ai un problème lors de la conversion d'une valeur string a une valeur Long voila le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    if(request.getParameter("var").equals("ajqcm")) {
    		//	aqf.setIdQcm(Long.parseLong(request.getParameter("idQcm")));
    		    	aqf.setIdQcm(dI.getIdQcm());
    		    	//aqf.setIdQuestion(Long.valueOf(request.getParameter("id_quest")));
    			aqf.setIdQuestion(Long.parseLong(request.getParameter("id_quest")));
    			aqf.setDuree(Integer.parseInt(request.getParameter("duree")));
    			aqf.setNb_quest(Integer.parseInt(request.getParameter("nb_quest"))+1);
    			dI.addQuestionToQcm(aqf.getIdQuestion(), aqf.getIdQcm());
     
    						return map.findForward("vueDefinirQcm");
    		}
    le probleme sur cette ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    aqf.setIdQuestion(Long.parseLong(request.getParameter("id_quest")));
    voila le code de la page jsp
    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    <html:form action="AjoutQcm.do" method="POST">
     
                  Matière : 
    <html:select name="aqf" property="idMatiere" >
      <html:optionsCollection name="aqf" property="lesMat"  label="matiere" value="idMatiere" />	
    	</html:select>
    	<html:hidden name="aqf" property="idNiveau" ></html:hidden>
    <html:submit value="Afficher" property="affich_connaiss"></html:submit>
     
    Choisir une connaissance : <html:select name="aqf" property="idConnaissance" >
      <html:optionsCollection name="aqf" property="lesConn"  label="connaissance" value="idConnaissance"/>	
    	</html:select>
    <html:hidden name="aqf" property="idQcm"/>
    <html:hidden name="aqf" property="duree"/>
    <html:hidden name="aqf" property="nb_quest"/>
    	<html:submit value="Afficher" property="affich_Question"></html:submit>
    <p>&nbsp;</p>
    <table width="315" border="0" align="right">
      <tr>
        <td width="184" bgcolor="#90B6FF">.Dur&eacute;e du test :      </td>
        <td width="121"><span class="Style5">
          <bean:write name="aqf" property="duree" />
          seconds</span></td>
      </tr>
      <tr>
        <td bgcolor="#90B6FF">.Nombre de question :
          </td>
        <td><span class="Style5"><bean:write name="aqf" property="nb_quest" /></span></td>
      </tr>
    </table>
    <table border="1" >
    <tr bgcolor="#90B6FF"><td>Question</td>
    <td>Type question</td>
    <td>Nombre bonnes réponses</td>
    </tr>
        <logic:iterate id="qt" name="aqf" property="lesQuestions">
      <tr>
       <td><bean:write name="qt" property="question" /></td>
       <td><bean:write name="qt" property="type" /></td>
       <td><bean:write name="qt" property="nbBonneRep" /></td>
     
       <td><a href='AjoutQcm.do?nb_quest=<bean:write name="aqf" property="nb_quest"/>
       &duree=<bean:write name="aqf" property="duree"/>
       &id_quest=<bean:write name="qt" property="idQuestion"/>
       &var=ajqcm'>Choisir</a></td>
      </tr>
      </logic:iterate>
      </table>
     
    </html:form>
    l'erreur
    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
    javax.servlet.ServletException: For input string: "3   "
    	org.apache.struts.action.RequestProcessor.processException(RequestProcessor.java:523)
    	org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:421)
    	org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:224)
    	org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)
    	org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
     
    cause mère
     
    java.lang.NumberFormatException: For input string: "3   "
    	java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
    	java.lang.Long.parseLong(Long.java:412)
    	java.lang.Long.parseLong(Long.java:461)
    	qcm.web.actions.AjoutQcmAction.execute(AjoutQcmAction.java:81)
    	org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:419)
    	org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:224)
    	org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)
    	org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:689)

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    160
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Mars 2008
    Messages : 160
    Par défaut
    C'est pas tes espaces qui posent probèmes?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    javax.servlet.ServletException: For input string: "3   "

  3. #3
    Membre averti
    Inscrit en
    Octobre 2006
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 19
    Par défaut
    c pas moi qui a fais les espaces je sais pas comment elles viennent

  4. #4
    Expert confirmé

    Femme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 793
    Par défaut
    As-tu testé la méthode trim() pour supprimer les blancs quand tu récupères le paramètre id_quest ?

  5. #5
    Membre averti
    Inscrit en
    Octobre 2006
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 19
    Par défaut
    merci pour la reponse
    non j'ai pas utilisé cette méthode car je sais pas comment la utilisé

  6. #6
    Membre averti
    Inscrit en
    Octobre 2006
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 19
    Par défaut
    oui j'ai utilisé la methode trim() sa marche pour les espaces mais j'ai toujours la meme erreur mais cette fois comme ca
    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
    javax.servlet.ServletException: For input string: "0.0"
    	org.apache.struts.action.RequestProcessor.processException(RequestProcessor.java:523)
    	org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:421)
    	org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:224)
    	org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)
    	org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
     
    cause mère
     
    java.lang.NumberFormatException: For input string: "0.0"
    	java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
    	java.lang.Integer.parseInt(Integer.java:456)
    	java.lang.Integer.parseInt(Integer.java:497)
    	qcm.web.actions.AjoutQcmAction.execute(AjoutQcmAction.java:83)
    	org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:419)
    	org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:224)
    	org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)
    	org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

  7. #7
    Expert confirmé

    Femme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 793
    Par défaut
    Rien de plus normal. Une valeur avec une décimale peut difficilement être transformée en int. Tu pourrais plutôt la convertir en double.

  8. #8
    Membre émérite Avatar de zorm
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    584
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 584
    Par défaut
    Bonjour,

    Si vraiment je devais te donner un conseil, c'est de mettre en place une validation de tes formulaires avant de faire ton traitement. C'est à dire voir si l'on ne rentre pas des caractères à la place d'entiers...
    Surtout quand tu utilises les parseurs de String, tu risques vraiment de choper des exceptions de parsing en permanence si tu prévois pas ça.

    Après, n'oublies pas que tu peux travailler un peu les données avant de les traiter. Pour cela, utilises ou écrits des classes utilitaires qui se chargeront de bien formater les données.
    Par exemple spring propose déjà quelques méthodes pour ça mais tu peux étendre les possibilités en t'en créant des persos... Utils Spring -> NumberUtils, StringUtils...

    Bon courage.

Discussions similaires

  1. probleme de conversion
    Par hay2006 dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 19/12/2005, 11h02
  2. probleme de conversion float en int
    Par murreya dans le forum C++
    Réponses: 2
    Dernier message: 17/12/2005, 16h27
  3. [datapump] probleme de conversion d'une base paradox
    Par plante20100 dans le forum Bases de données
    Réponses: 4
    Dernier message: 04/11/2005, 19h39
  4. Probleme de conversion de dates
    Par manu00 dans le forum Langage
    Réponses: 4
    Dernier message: 29/05/2005, 01h00
  5. [Math][Integer] Problème de conversion
    Par deathwing dans le forum API standards et tierces
    Réponses: 8
    Dernier message: 11/05/2004, 18h01

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