#java #jsp #servlets
#java #jsp #сервлеты
Вопрос:
Как мне отправить тип даты в качестве параметра из JSP в сервлет, чтобы вставить в базу данных MySQL. Когда я использую getParameter() в сервлете, это показывает, что я использую несравнимые типы. На самом деле я объявил переменную типа java.sql.Date, которую я присваиваю параметру запроса в сервлете, но я получаю сообщение об ошибке, что типы несопоставимы. Я пытаюсь отправить дату из JSP через сервлет в MySQL. Как параметр отправляется и принимается в таком случае?
Комментарии:
1. Параметры будут отправлены в виде строк, возможно, вам нужно выполнить некоторое преобразование. Добавление некоторого кода помогло бы.
Ответ №1:
Передайте ее как String
и проанализируйте на сервере, используя SimpleDateFormat
для получения Date
обратно
Например:
Date date = new SimpleDateFormat("dd-MM-yyyy").parse("10-10-2010");
Комментарии:
1. Спасибо @Joshi. Как мне выполнить синтаксический анализ с помощью SimpleDateFormat? Например, я получаю строку таким образом:
request.getParamater("date")
. Как мне преобразовать это обратно в дату, используя SimpleDateFormat?2. ОК. позвольте мне попробовать сейчас и дам вам знать. Я уверен, что это сработает.
3. Это сделано @Joshi. Я преобразовал в
java.util.Date
формат, используяSimpleDateFormat
, как вы показали, а затем дополнительно преобразовал вsql.Date
формат, используяjava.sql.Date date3 = new java.sql.Date(date2.getTime());
: где date2 — это утилита. Дата, дата. Большое вам спасибо.