Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 16
  1. #1

    Stacktrace Integer.parseInt

    Ciao gente non riesco a convertire un valore String in Integer, idee?
    Ho questo errore:
    Stacktrace: org.apache.jasper.JasperException: An exception occurred processing JSP...

    la porzione di codice interessata:

    <%
    String fid = request.getParameter("id");
    int sID = Integer.parseInt(fid);

    String sfName = "";
    String slName = "";
    String sTel = "";
    String sFax = "";
    String sMail = "";
    String sAddress = "";
    String sCompany = "";
    String sComment = "";
    %>
    /////////////////////////////////
    $B$h$m$7$/$*4j$$$7$^$9!#(B

  2. #2
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    43
    Puoi pubblicare l'intera jsp?
    by yakino @doc

  3. #3
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328
    Hai controllato che esiste effettivamente un parametro "id"?
    codice:
    String fid = request.getParameter("id");
    if ((fid != null) && !fid.equals("")) {
       if ( fid.matches("\\d+") ) {
          int sID = Integer.parseInt(fid);
       }
    }
    PS: mescolare la parte di business logic con la parte di presentation rende più difficile capire il perchè di questi errori... è a questo che servono le Servlet.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  4. #4
    il codice completo

    codice:
                    <%
                    //String fid = request.getParameter("id");
                    int sID = Integer.parseInt(request.getParameter("id"));
                    System.out.println("INTEGER - STATUS OK - UTENTE=id" + sID);
                    
                    String sfName = "";
                    String slName = "";
                    String sTel = "";
                    String sFax = "";
                    String sMail = "";
                    String sAddress = "";
                    String sCompany = "";
                    String sComment = "";
                    %>
                    <%@ include file="../inc/common.jsp" %>
                    <%                                            
                    String sSQL = "SELECT * FROM abook WHERE id=" + sID;
                    ResultSet oRS = SQLStatement.executeQuery(sSQL);
                    System.out.println("QUERY - STATUS OK - " + sSQL);
                    
                    sfName = oRS.getString("sfname");
                    slName = oRS.getString("lname");
                    sTel = oRS.getString("tel");
                    sFax = oRS.getString("fax");
                    sMail = oRS.getString("mail");
                    sAddress = oRS.getString("addr");
                    sCompany = oRS.getString("company");
                    sComment = oRS.getString("comment");
                    
                    oRS.close();
                    SQLStatement.close();
                    oConDC.close();
                    %>
                    
                <table cellspacing="5" cellpadding="5" class="query" bordercolor="#000000">
                    <form action="edit_res.jsp" method="POST">
                        <input type="text" name="id" value="<%= sID %>">
                        <tr>
                            <td>First name</td>
                            <td><input type="text" name="fname" size="15" value="<%= sfName %>"></td>
                        </tr>
                        <tr>
                            <td>Last name</td>
                            <td><input type="text" name="lname" size="15" value="<%= slName %>"></td>
                        </tr>
                        <tr>
                            <td>Telephone</td>
                            <td><input type="text" name="tel" size="10" value="<%= sTel %>"></td>
                        </tr>
                        <tr>
                            <td>Fax</td>
                            <td><input type="text" name="fax" size="10" value="<%= sFax %>"></td>
                        </tr>
                        <tr>
                            <td>eMail</td>
                            <td><input type="text" name="mail" size="25" value="<%= sMail %>"></td>
                        </tr>
                        <tr>
                            <td>Address</td>
                            <td><input type="text" name="address" size="25" value="<%= sAddress %>"></td>
                        </tr>
                        <tr>
                            <td>Company</td>
                            <td><input type="text" name="company" size="25" value="<%= sCompany %>"></td>
                        </tr>
                        <tr>
                            <td>Comment</td>
                            <td><input type="text" name="comment" size="25" value="<%= sComment %>"></td>
                        </tr>                    
                        <tr>
                            <td colspan="2"><input type="submit" name="submit" value="Update"></td>
                        </tr>
                    </form>                
                </table>
    /////////////////////////////////
    $B$h$m$7$/$*4j$$$7$^$9!#(B

  5. #5
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328
    Suppongo che questa pagina richiami se stessa, quindi la prima volta che viene richiamata, quindi, non esiste alcun parametro id...


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  6. #6
    Nope, in verità il parametro id viene passato attraverso l'URL dalla pagina che precede quella che ho incollato sopra (edit.jsp)
    Il codice incollato qua sotto è una porzione di view.jsp
    codice:
    out.println("<tr><td>" + sID + "</td><td>" + sfName +
    "</td><td>" + slName + "</td><td>" + sTel + "</td><td>" + sFax +
    "</td><td>" + sMail +
    "</td><td><a href=edit.jsp?id=" + sID + ">Edit</a></td></tr>");
    Originariamente inviato da LeleFT
    Suppongo che questa pagina richiami se stessa, quindi la prima volta che viene richiamata, quindi, non esiste alcun parametro id...


    Ciao.
    /////////////////////////////////
    $B$h$m$7$/$*4j$$$7$^$9!#(B

  7. #7
    ...inoltre il debug (come IDE uso netbeans) indica:

    codice:
    Stacktrace: org.apache.jasper.JasperException: An exception occurred processing JSP page /info/edit.jsp at line 27
    
    24:             <table class="table" width="600"><tr><td>
    25:                 <%
    26:                 //String fid = request.getParameter("id");
    27:                 int sID = Integer.parseInt(request.getParameter("id")); 
    28:                 System.out.println("INTEGER - STATUS OK - UTENTE=id" + sID);
    29:                 
    30:                 String sfName = "";
    /////////////////////////////////
    $B$h$m$7$/$*4j$$$7$^$9!#(B

  8. #8
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328
    E allora prova a dare un'occhiata ai log di Tomcat (o del tuo ServletContainer), dove potrai trovare uno stack dell'eccezione più completo.

    In alternativa, usa il try/catch:
    codice:
    try {
       int sID = Integer.parseInt(request.getParameter("id"));
    } catch (Exception e) {
       e.printStackTrace();
    }
    System.out.println("INTEGER - STATUS OK - UTENTE=id" + sID);
    e poi vai a guardare nei log.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  9. #9
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328
    Originariamente inviato da takomaki
    ...inoltre il debug (come IDE uso netbeans) indica:
    Allora i log del bundled Tomcat li trovi in
    <path di netbeans>\enterprise2\jakarta-tomcat-<versione>\logs


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  10. #10
    Questo è il risultato:
    codice:
    java.lang.NumberFormatException: null
    
            at java.lang.Integer.parseInt(Integer.java:415)
            at java.lang.Integer.parseInt(Integer.java:497)
            at org.apache.jsp.info.edit_jsp._jspService(edit_jsp.java:107)
            at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
            at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
            at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
            at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:337)
            at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
            at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
            at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
            at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
            at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
            at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
            at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
            at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
            at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
            at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
            at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
            at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
            at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
            at java.lang.Thread.run(Thread.java:619)
    
    Originariamente inviato da LeleFT
    E allora prova a dare un'occhiata ai log di Tomcat (o del tuo ServletContainer), dove potrai trovare uno stack dell'eccezione più completo.

    In alternativa, usa il try/catch:
    codice:
    try {
       int sID = Integer.parseInt(request.getParameter("id"));
    } catch (Exception e) {
       e.printStackTrace();
    }
    System.out.println("INTEGER - STATUS OK - UTENTE=id" + sID);
    e poi vai a guardare nei log.


    Ciao.
    /////////////////////////////////
    $B$h$m$7$/$*4j$$$7$^$9!#(B

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.