Brug HttpServletRequest#getParameter()
at indsamle anmodningsparametre. Forudsat at inputfeltet har navnet date
.
String dateString = request.getParameter("date");
Brug SimpleDateFormat#parse()
for at konvertere den til java.util. Dato
ved hjælp af et specifikt mønster, afhængigt af hvordan slutbrugeren blev bedt om at indtaste datoen.
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;
}
Send dette som et metodeargument til din DAO-metode:
List<ParseBean> results = parseDAO.search(date);
Du skal konvertere den til java. sql.Dato
, så du kan bruge PreparedStatement#setDate()
for at indstille det på SQL-forespørgslen:
String query = "SELECT * FROM dateparse WHERE date = ?";
// ...
statement.setDate(1, new java.sql.Date(date.getTime()));
Du kan bruge WHERE date> ?
for at søge efter poster, der er nyere end den givne dato, eller WHERE date
for at søge efter poster, der er ældre end den givne dato, eller WHERE date MELLEM ? og ?
for at søge efter poster mellem de angivne datoer.