Използвайте HttpServletRequest#getParameter()
за събиране на параметри на заявката. Ако приемем, че полето за въвеждане има име date
.
String dateString = request.getParameter("date");
Използвайте SimpleDateFormat#parse()
за да го конвертирате в java.util.Date
използвайки конкретен модел, в зависимост от това как крайният потребител е бил помолен да въведе датата.
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;
}
Предайте това като аргумент на метода към вашия DAO метод:
List<ParseBean> results = parseDAO.search(date);
Трябва да го конвертирате в java.sql.Date
, за да можете да използвате PreparedStatement#setDate()
за да го зададете в SQL заявката:
String query = "SELECT * FROM dateparse WHERE date = ?";
// ...
statement.setDate(1, new java.sql.Date(date.getTime()));
Можете да използвате WHERE date > ?
за търсене на записи, по-нови от дадената дата, или WHERE date < ?
за търсене на записи, по-стари от дадената дата, или WHERE date BETWEEN ? and ?
за търсене на записи между посочените дати.