Ini adalah masalah yang dihadapi rekan kerja.
Tanggal dalam kode, format yang ditempatkan pada halaman adalah "Fri 21 Mar 09:20:38 CST 2014" (tidak ditampilkan, hanya untuk lulus ke pengontrol berikutnya).
Saat mengirimkan formulir lagi, tanggal mulai tanggal pribadi kelas DTO; tidak diatur ke nilai.
Saya melakukan beberapa percobaan dengan program lokal
public static void main (string [] args) {date now = new date (); System.out.println (sekarang); String nowstr = now.toString (); Format DateFormat = new SimpleDateFormat ("EEE MMM DD HH: MM: SS Z YYYY"); Tanggal parsednow = null; coba {parsednow = format.parse (nowstr); System.out.println (parsednow); } catch (parseException e) {e.printstacktrace (); }}Terjadi kesalahan saat program mengeksekusi format.parse (nowstr)
Java.text.parseexception: Tanggal yang tidak dapat dipisahkan: "Jum 21 Mar 09:25:48 CST 2014"
di java.text.dateFormat.parse (dateFormat.java:337)
Setelah menganalisis dan melihat kode sumber, kami menarik kesimpulan bahwa kesalahan yang disebabkan oleh bahasa yang digunakan oleh sistem.
Format DateFormat = new SimpleDateFormat ("EEE MMM DD HH: MM: SS Z YYYY");Standarnya sebenarnya
Format DateFormat = new SimpleDateFormat ("eee mmm dd hh: mm: ss z yyyy", new locale (System.getProperty ("user.banguage"))));Di antara mereka, System.getProperty ("user.banguage") adalah bahasa Cina karena sistemnya adalah ZH, dan format ini tidak boleh didukung di zona waktu Cina.
Ubah kode di atas untuk memverifikasi poin ini
public static void main (string [] args) {date now = new date (); System.out.println (sekarang); String nowstr = now.toString (); Format DateFormat = new SimpleDateFormat ("eee mmm dd hh: mm: ss z yyyy", new locale (System.getProperty ("user.banguage")))); System.out.println (System.GetProperty ("User.Language")); Tanggal parsednow = null; coba {parsednow = format.parse (nowstr); System.out.println (parsednow); } catch (parseException e) {format = new SimpleDateFormat ("eee mmm dd hh: mm: ss z yyyy", locale.English); coba {system.out.println ("format baru oleh 'en'"); System.out.println (format.parse (nowstr)); } catch (parseException e1) {e1.printstacktrace (); }}}Solusi lain adalah mengonversi format tanggal sekali di halaman JSP, seperti
<input type = "tersembunyi" name = "data" value = '<fmt: formatDate value = "$ {dto.date}" pola = "yyyy-mm-dd"/>'/> Di atas adalah semua konten artikel ini. Saya berharap konten artikel ini akan membantu untuk belajar atau bekerja semua orang. Saya juga berharap untuk mendukung wulin.com lebih lanjut!