2017-12-10 4 views
1

내 서블릿에서 JSP 양식에서 날짜 시간 값을 읽기 위해 노력하고 있어요 :자바 : 오류 구문 분석 날짜 (JSP, 서블릿)

ConcertController :

protected void doPost(HttpServletRequest request, HttpServletResponse response) 
     throws ServletException, IOException { 
    String action = request.getParameter("action"); 
    if ("add_concert".equals(action)) { 
     Concert concert = new Concert(); 
     ... 
     SimpleDateFormat format = new SimpleDateFormat("dd/MM/yyyy HH:mm"); 
     java.util.Date parsed = new java.util.Date(); 
     try { 
      parsed = format.parse(request.getParameter("concert_datetime")); 
     } catch (ParseException e) { 
      e.printStackTrace(); 
     } 
     java.sql.Date sqlDate = new java.sql.Date(parsed.getTime()); 
     concert.setConcertTime(sqlDate); 
     .. 
     )); 
     concert.setTicketprice(Double.parseDouble(request.getParameter("concert_ticketprice"))); 

     ConcertTable.insertConcert(concert); 

     request.getRequestDispatcher("ConcertsController?action=get_all_concerts").forward(request, response); 
    } 
} 

.jsp로 :

<form action="ConcertController?action=add_concert" method="post" 
      name="concertAddForm" id="formAddConcert" 
      enctype="multipart/form-data"> 
      <h2>Add new concert</h2> 
      <div class="panel panel-success"> 
       <div class="col-md-6 form-group"> 
        <label>Concert name:</label> <input type="text" name="concert_name" 
         placeholder="Concert Name" class="form-control" required> 
       </div> 
       ... 
       <div class="col-md-6 form-group"> 
        <label>Date/Time:</label> <input type="text" 
         name="concert_datetime" placeholder="dd/MM/yyyy HH:mm" 
         class="form-control" required> 
       </div>    
      </div> 
      <br> <input type="submit" id="addConcertBtn" 
       class="btn btn-primary btn-large" value="Add concert"> 
     </form> 

하지만 HTTP 상태 500이 계속 표시됩니다.

java.lang.Nul lPointerException java.text.SimpleDateFormat.parse (알 수없는 소스) java.text.DateFormat.parse (알 수없는 소스)

나는 2000년 12월 12일 20시로했습니다.

내가 뭘 잘못하고 있니? 당신이 당신의 형태로 파일을 업로드 할 필요가없는 경우는 양식이 멀티 파트 형식으로 전송되도록 강제 때문에

+0

입력 유형 = "날짜"를 사용해 보셨습니까 –

+0

@SinghPiyush 예, "datetime"- 차이가 없습니다. – Eutherpy

+1

request.getParameter ("concert_datetime")은 null을 반환합니다. 게시하는 양식이나 게시 방법에 문제가있을 수 있습니다. 지금은 세부 사항이 충분하지 않습니다. – dvelopp

답변

1

는 Eutherpy는, 단지

enctype="multipart/form-data"

제거.

그렇지 않으면 파일을 업로드해야하는 경우 몇 가지 답변이 이미 있습니다.

this 답을 볼 수 있습니다.