2017-12-10 13 views
1

私は私のサーブレットにおけるJSPフォームからdatetime値を読み込むしようとしています:のJava:エラー解析日時(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> 

java.lang.Nul:

は、私はHTTPステータス500を得続けます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の回答を見ることができます。