Это проблема, с которой столкнулись коллеги.
Дата в коде, формат, размещенный на странице: «Пять 21 марта 09:20:38 CST 2014» (не отображается, просто для передачи следующему контроллеру).
При снова отправив форму, частную дату начала класса DTO; не установлен на значение.
Я провел несколько экспериментов с местными программами
public static void main (string [] args) {date now = new Date (); System.out.println (сейчас); String howstr = now.toString (); DateFormat format = new SimpleDateFormat ("Eee Mmm DD HH: MM: SS z Yyyy"); Дата ParsedNow = null; try {parsednow = format.parse (nowsr); System.out.println (Parsednow); } catch (parseexception e) {e.printstacktrace (); }}Произошла ошибка, когда программа выполняет format.parse (nowstr)
Java.text.parseexception: невозможно получить дату: «пт 21 марта 09:25:48 CST 2014»
на java.text.dateformat.parse (dateformat.java:337)
После анализа и просмотра исходного кода мы делаем выводы, что ошибки, вызванные языком, используемым системой.
DateFormat format = new SimpleDateFormat ("Eee Mmm DD HH: MM: SS z Yyyy");По умолчанию на самом деле
DateFormat format = new SimpleDateFormat ("Eee Mmm DD HH: MM: SS z Yyyy", New Locale (System.getProperty ("user.language")));Среди них System.getProperty («user.language») является китайской, потому что система - ZH, и этот формат не следует поддерживать в китайском часовом поясе.
Измените приведенный выше код, чтобы проверить эту точку
public static void main (string [] args) {date now = new Date (); System.out.println (сейчас); String howstr = now.toString (); DateFormat format = new SimpleDateFormat ("Eee Mmm DD HH: MM: SS z Yyyy", New Locale (System.getProperty ("user.language"))); System.out.println (System.getProperty ("user.language")); Дата ParsedNow = null; try {parsednow = format.parse (nowsr); System.out.println (Parsednow); } catch (parseException e) {format = new SimpleDateFormat ("eee mmm dd hh: mm: ss z yyyy", locale.english); try {System.out.println ("Новый формат от 'en'"); System.out.println (format.parse (Nowstr)); } catch (parseException e1) {e1.printstacktrace (); }}}Другое решение - преобразовать формат даты один раз на странице JSP, например, как
<input type = "hidden" name = "data" value = '<fmt: formatdate value = "$ {dto.date}" pattern = "yyyy-mm-dd"/>'/> Выше всего содержание этой статьи. Я надеюсь, что содержание этой статьи поможет всем, кто учится или работа. Я также надеюсь поддержать Wulin.com больше!