Este es un problema que los colegas encontraron.
La fecha en el código, el formato colocado en la página es "Vie el 21 de marzo de marzo 09:20:38 CST 2014" (no se muestra, solo para pasar al siguiente controlador).
Al enviar el formulario nuevamente, la fecha de inicio de la fecha privada de la clase DTO; no está configurado en el valor.
Hice algunos experimentos con programas locales
public static void main (string [] args) {date ahora = new Date (); System.out.println (ahora); String nowstr = ahora.ToString (); Format de DateFormat = new SimpleDateFormat ("EEE MMM DD HH: MM: SS Z YYYY"); Fecha parsednow = nulo; intente {parsednow = format.parse (nowstr); System.out.println (parsednow); } catch (ParseException e) {E.PrintStackTrace (); }}Se produjo un error cuando el programa ejecuta Format.Parse (Nowstr)
Java.text.ParseException: Fecha incomparable: "viernes 21 de marzo 09:25:48 CST 2014"
en java.text.dateformat.parse (dateFormat.java:337)
Después de analizar y ver el código fuente, sacamos conclusiones de que los errores causados por el lenguaje utilizado por el sistema.
Format de DateFormat = new SimpleDateFormat ("EEE MMM DD HH: MM: SS Z YYYY");El valor predeterminado es en realidad
Format de DateFormat = new SimpleDateFormat ("EEE MMM DD HH: MM: SS Z YYYY", new Locale (System.getProperty ("user.language")));Entre ellos, el sistema.getProperty ("user.language") es chino porque el sistema es ZH, y este formato no debe ser compatible en la zona horaria china.
Modifique el código anterior para verificar este punto
public static void main (string [] args) {date ahora = new Date (); System.out.println (ahora); String nowstr = ahora.ToString (); Format de DateFormat = new SimpleDateFormat ("EEE MMM DD HH: MM: SS Z yyyy", new Locale (System.getProperty ("user.language"))); System.out.println (System.getProperty ("user.language")); Fecha parsednow = nulo; intente {parsednow = format.parse (nowstr); System.out.println (parsednow); } Catch (ParseException e) {format = new SimpleDateFormat ("eee mmm dd hh: mm: ss z yyyy", locale.english); intente {system.out.println ("nuevo formato por 'en'"); System.out.println (Format.Parse (Nowstr)); } catch (parseException e1) {e1.printStackTrace (); }}}Otra solución es convertir el formato de fecha una vez en la página JSP, como
<input type = "Hidden" name = "data" value = '<fmt: formatDate value = "$ {dto.date}" patrón = "yyyy-mm-dd"/>'/>> Lo anterior es todo el contenido de este artículo. Espero que el contenido de este artículo sea de ayuda para el estudio o el trabajo de todos. ¡También espero apoyar a Wulin.com más!