Reputation: 4581
I am trying to read a datetime value from a JSP form in my servlet:
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>
but I keep getting an HTTP status 500:
java.lang.NullPointerException java.text.SimpleDateFormat.parse(Unknown Source) java.text.DateFormat.parse(Unknown Source)
I tried with 12/12/2000 20:00.
What am I doing wrong?
Upvotes: 1
Views: 292
Reputation: 4325
Eutherpy, if you don't need to upload files in your form, just get rid of
enctype="multipart/form-data"
Since it forces your form to be sent in multipart part format.
Otherwise, if you do need to upload files, there were several answers already.
You can have a look at this answer.
Upvotes: 1