Sử dụng HttpServletRequest#getParameter()
để thu thập các thông số yêu cầu. Giả sử rằng trường nhập có tên date
.
String dateString = request.getParameter("date");
Sử dụng SimpleDateFormat#parse()
để chuyển đổi nó thành java.util.Date
sử dụng một mẫu cụ thể, tùy thuộc vào cách người dùng cuối được yêu cầu nhập ngày.
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;
}
Chuyển điều này làm đối số phương thức cho phương thức DAO của bạn:
List<ParseBean> results = parseDAO.search(date);
Bạn cần chuyển đổi nó thành java.sql.Date
, để bạn có thể sử dụng PreparedStatement#setDate()
để đặt nó trên truy vấn SQL:
String query = "SELECT * FROM dateparse WHERE date = ?";
// ...
statement.setDate(1, new java.sql.Date(date.getTime()));
Bạn có thể sử dụng WHERE date > ?
để tìm kiếm các bản ghi mới hơn ngày đã cho hoặc WHERE date < ?
để tìm kiếm các bản ghi cũ hơn ngày đã cho, hoặc WHERE date BETWEEN ? and ?
để tìm kiếm các bản ghi giữa các ngày được chỉ định.