2016-06-14 147 views
0

我有以下代码:解析功能不能正常工作

String date_p = request.getParameter("myText"); 
    DateFormat sdf = new SimpleDateFormat("dd-MMM-yyyy"); 
    java.util.Date frmDate = sdf.parse(date_p); 

我得到的错误是:

type Exception report 

message An exception occurred processing JSP page /demo3.jsp at line 22 

description The server encountered an internal error that prevented it from fulfilling this request. 

exception 
org.apache.jasper.JasperException: An exception occurred processing JSP page /demo3.jsp at line 22 

19: 
20:  String date_p = request.getParameter("myText"); 
21:  DateFormat sdf = new SimpleDateFormat("dd-MMM-yyyy"); 
22:  java.util.Date frmDate = sdf.parse(date_p); 

Stacktrace: 
    org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:575) 
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:477) 
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:395) 
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:339) 
    javax.servlet.http.HttpServlet.service(HttpServlet.java:731) 
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) 



root cause 
java.lang.NullPointerException 
    java.text.SimpleDateFormat.parse(Unknown Source) 
    java.text.DateFormat.parse(Unknown Source) 
    org.apache.jsp.demo3_jsp._jspService(demo3_jsp.java:106) 
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) 
    javax.servlet.http.HttpServlet.service(HttpServlet.java:731) 
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:439) 
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:395) 
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:339) 
    javax.servlet.http.HttpServlet.service(HttpServlet.java:731) 
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) 

为什么不工作的解析函数? 我已经导入这些包,以及 -

+0

是你的问题是一个NPE,阅读你的栈跟踪 –

+0

@NicolasFilotto它的一个JSP页面。 date_p值取自用户。我不能在这里理解的问题 – StevieG

回答

2

date_p似乎是空,你需要检查你通过一个属性myText“的java.sql ,java.util中,java.text中的*。”在你的GET参数或POST参数中。

+0

它是存在于代码:

\t

接口表

\t \t​​文本: \t \t​​<输入类型= “文本” 名称= “会将myText” ID = “会将myText” 值= “”> \t \t​​ \t <% \t String date_p = request.getParameter(“myText”); \t DateFormat sdf = new SimpleDateFormat(“dd-MMM-yyyy”); \t java.util.Date frmDate = sdf.parse(date_p); – StevieG

+0

​​值为null,因为Mifmif说 – erolkaya84

+0

你想用你的'frmDate'做什么?在页面的第一次加载中,请求中没有传递任何参数,因此您将为'date_p'获取空值。 – Mifmif