Erreur:::java.lang.NumberFormatException: null

Fermé
natasha82 Messages postés 55 Date d'inscription vendredi 20 mars 2015 Statut Membre Dernière intervention 9 juin 2015 - Modifié par natasha82 le 2/04/2015 à 15:44
natasha82 Messages postés 55 Date d'inscription vendredi 20 mars 2015 Statut Membre Dernière intervention 9 juin 2015 - 2 avril 2015 à 22:50
Bonjour, j'ai fait un test pour la suppression ,mais a chaque fois je la valide il m'affiche une exception: la voila
java.lang.NumberFormatException: null
java.lang.Long.parseLong(Long.java:404)
java.lang.Long.parseLong(Long.java:483)
Servlet.AjoutServl.doPost(AjoutServl.java:39)
javax.servlet.http.HttpServlet.service(HttpServlet.java:641)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
sun.reflect.GeneratedMethodAccessor31.invoke(Unknown Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
java.lang.reflect.Method.invoke(Method.java:606)
org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:273)
org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:270)
java.security.AccessController.doPrivileged(Native Method)
javax.security.auth.Subject.doAsPrivileged(Subject.java:536)
org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:305)
org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:165)



voici le code que j'ai fait:

protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {

//recuperer les information
if (request.getParameter("action")!=null){
op.remove(Long.parseLong(request.getParameter("id")));

request.getRequestDispatcher("AjoutProduit.jsp").forward(request, response);
// traitement


}




merci d'avance

1 réponse

KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 3 019
Modifié par KX le 2/04/2015 à 21:08
Bonjour,

Ton test pour savoir si le paramètre "action" est non null ne permet pas de s'assurer que le paramètre "id" sera non null aussi... or il l'est et ça entraîne une erreur.

if (request.getParameters("id")!=null){
    op.remove(Long.parseLong(request.getParameter("id")));

Remarque ce test ne doit pas t'empêcher de faire un try catch quand même, il n'est pas exclu que le paramètre "id" puisse être n'importe quoi d'autre qu'un entier...
La confiance n'exclut pas le contrôle
0
natasha82 Messages postés 55 Date d'inscription vendredi 20 mars 2015 Statut Membre Dernière intervention 9 juin 2015
2 avril 2015 à 22:49
bonsoir,j'ai fait ce que vous m'avez donnez mais quand je clique sur le boutton supprimer il m'ajoute une ligne avec avec la valeur "null" partout au lieu de supprimer la ligne souhaiter.merci
0
natasha82 Messages postés 55 Date d'inscription vendredi 20 mars 2015 Statut Membre Dernière intervention 9 juin 2015
2 avril 2015 à 22:50
et voici aussi le formulaire qui a le truc""action"



<form action="Ajou" method="post">


<input type="hidden" name="id " value="<%=e.getID()%>"/>
<input type="hidden" name="action" value="supprimer"/>
<input type="submit" value="supprimer"/>


</form>
0