2013-08-22 65 views
0

我對jsp的提交工作類型和我寫這樣的代碼:錯誤在JSP

<form action="processInfo.jsp"> 
    <input type="submit" name="Kill" value="Kill" /> 
</form> 
<% 
    String s = request.getParameter("Kill"); 
    if (s != null) { 
     System.out.println("ok"); 
    } 
%> 

,但這個錯誤已經出現了,我dpn't知道爲什麼。

ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[default-host].[/SystemMonitoring_v1.2].[jsp]] (http--127.0.0.1-8080-1) Servlet.service() for servlet jsp threw exception: java.lang.NumberFormatException: null 
at java.lang.Long.parseLong(Long.java:372) [rt.jar:1.6.0_13] 
at java.lang.Long.parseLong(Long.java:461) [rt.jar:1.6.0_13] 
at org.apache.jsp.processInfo_jsp._jspService(processInfo_jsp.java:64) 
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) [jbossweb-7.0.13.Final.jar:] 
at javax.servlet.http.HttpServlet.service(HttpServlet.java:847) [jboss-servlet-api_3.0_spec-1.0.0.Final.jar:1.0.0.Final] 
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:369) [jbossweb-7.0.13.Final.jar:] 
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:326) [jbossweb-7.0.13.Final.jar:] 
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:253) [jbossweb-7.0.13.Final.jar:] 
at javax.servlet.http.HttpServlet.service(HttpServlet.java:847) [jboss-servlet-api_3.0_spec-1.0.0.Final.jar:1.0.0.Final] 
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:329) [jbossweb-7.0.13.Final.jar:] 
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248) [jbossweb-7.0.13.Final.jar:] 
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:275) [jbossweb-7.0.13.Final.jar:] 
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161) [jbossweb-7.0.13.Final.jar:] 
at org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:153) [jboss-as-web-7.1.1.Final.jar:7.1.1.Final] 
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:155) [jbossweb-7.0.13.Final.jar:] 
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) [jbossweb-7.0.13.Final.jar:] 
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) [jbossweb-7.0.13.Final.jar:] 
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:368) [jbossweb-7.0.13.Final.jar:] 
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877) [jbossweb-7.0.13.Final.jar:] 
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:671) [jbossweb-7.0.13.Final.jar:] 
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:930) [jbossweb-7.0.13.Final.jar:] 
at java.lang.Thread.run(Thread.java:619) [rt.jar:1.6.0_13] 

的我不明白,你能不能幫我請

+0

有你錯過了,包括一些更多的代碼?一這是做'的Long.parseLong(。 ..)' – sanbhat

+0

它關於一個數字例外,但沒有關於數字事物的代碼? – developerCoder

+0

這個頁面很好用,但是當我添加這段代碼時,這個問題就出現了! – ofloflofl

回答

1

exception看,我看到某處jsp你正在做

Long.parseLong(someStringVariable); 

someStringVariablenull 。所以解析之前檢查nullLong

if(someStringVariable != null) { 
    Long.parseLong(someStringVariable); 
} 

注:

  • 即使someStringVariable不爲空,Long.parseLong(someStringVariable)仍可能拋出異常,如果字符串不是可解析的格式
  • 而建議使用JSTL in JSP並將所有解析邏輯保留到Servlets中
0

您正在嘗試格式化爲空。嘗試檢查它是否爲空。

包括標籤,

<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> 

,並格式化這樣的價值,

<fmt:parseNumber var="i" type="number" value="${inputValue}" /> 
<p>Parsed Number : <c:out value="${i}" /></p> 
+0

這個頁面很好用,但是當我添加這段代碼時,這個問題就出現了! – ofloflofl

+0

你在你的應用程序中有JSTL jar嗎? – newuser