Använd HttpServletRequest#getParameter()
för att samla in förfrågningsparametrar. Förutsatt att inmatningsfältet har namnet date
.
String dateString = request.getParameter("date");
Använd SimpleDateFormat#parse()
för att konvertera den till java.util. Datum
med ett specifikt mönster, beroende på hur slutanvändaren ombads att ange datum.
Date date = null;
try {
date = new SimpleDateFormat("yyyy-MM-dd").parse(dateString);
}
catch (ParseException e) {
// Show error message to enduser about the wrong format and forward back to the JSP with the form.
request.setAttribute("error", "Invalid format, please enter yyyy-MM-dd");
request.getRequestDispatcher("search.jsp").forward(request, response);
return;
}
Skicka detta som ett metodargument till din DAO-metod:
List<ParseBean> results = parseDAO.search(date);
Du måste konvertera den till java. sql.Date
, så att du kan använda PreparedStatement#setDate()
för att ställa in den på SQL-frågan:
String query = "SELECT * FROM dateparse WHERE date = ?";
// ...
statement.setDate(1, new java.sql.Date(date.getTime()));
Du kan använda WHERE date> ?
för att söka efter poster som är nyare än det angivna datumet, eller WHERE date
för att söka efter poster som är äldre än det angivna datumet, eller WHERE date MELLAN ? och ?
för att söka efter poster mellan de angivna datumen.