Gunakan HttpServletRequest#getParameter()
untuk mengumpulkan parameter permintaan. Dengan asumsi bahwa bidang input memiliki nama date
.
String dateString = request.getParameter("date");
Gunakan SimpleDateFormat#parse()
untuk mengubahnya menjadi java.util.Date
menggunakan pola tertentu, tergantung pada bagaimana pengguna akhir diminta untuk memasukkan tanggal.
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;
}
Teruskan ini sebagai argumen metode ke metode DAO Anda:
List<ParseBean> results = parseDAO.search(date);
Anda perlu mengonversinya menjadi java.sql.Date
, sehingga Anda dapat menggunakan PreparedStatement#setDate()
untuk mengaturnya pada kueri SQL:
String query = "SELECT * FROM dateparse WHERE date = ?";
// ...
statement.setDate(1, new java.sql.Date(date.getTime()));
Anda dapat menggunakan WHERE date > ?
untuk mencari catatan yang lebih baru dari tanggal yang diberikan, atau WHERE date < ?
untuk mencari catatan yang lebih tua dari tanggal yang diberikan, atau WHERE date BETWEEN ? and ?
untuk mencari catatan di antara tanggal yang ditentukan.