Eutherpy
Eutherpy

Reputation: 4581

Java: error parsing datetime (JSP, servlets)

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

Answers (1)

dvelopp
dvelopp

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

Related Questions