Użyj HttpServletRequest#getParameter()
do zbierania parametrów żądania. Zakładając, że pole wejściowe ma nazwę date
.
String dateString = request.getParameter("date");
Użyj SimpleDateFormat#parse()
przekonwertować go na java.util.Date
przy użyciu określonego wzoru, w zależności od tego, w jaki sposób użytkownik końcowy został poproszony o wprowadzenie daty.
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;
}
Przekaż to jako argument metody do swojej metody DAO:
List<ParseBean> results = parseDAO.search(date);
Musisz przekonwertować go na java.sql.Date
, aby można było użyć PreparedStatement#setDate()
aby ustawić go w zapytaniu SQL:
String query = "SELECT * FROM dateparse WHERE date = ?";
// ...
statement.setDate(1, new java.sql.Date(date.getTime()));
Możesz użyć WHERE date > ?
aby wyszukać rekordy nowsze niż podana data, lub WHERE date < ?
aby wyszukać rekordy starsze niż podana data, lub WHERE date BETWEEN ? and ?
aby wyszukać rekordy między określonymi datami.