Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Dojo/Spring DateTextBox初始化因日期值而失败,是否使用字符串?_Java_Javascript_Spring_Dojo - Fatal编程技术网

Java Dojo/Spring DateTextBox初始化因日期值而失败,是否使用字符串?

Java Dojo/Spring DateTextBox初始化因日期值而失败,是否使用字符串?,java,javascript,spring,dojo,Java,Javascript,Spring,Dojo,我正在努力从web表单向Spring控制器来回获取日期值。当这个值作为字符串传递时,一切正常,但由于它在逻辑上是一个“date”值,所以我将它改为date,一切都变糟了 我尝试了指示的修复方法,但不起作用 以下是我在运行时(从“locale.js”)得到的错误: 该页面是使用带有Spring表单标记(form:form、form:input等)的JSP构建的,客户端验证是使用依赖于dojojavascript库的SpringValidation装饰器完成的 这是我要经过的领域: @NotEmpt

我正在努力从web表单向Spring控制器来回获取日期值。当这个值作为字符串传递时,一切正常,但由于它在逻辑上是一个“date”值,所以我将它改为date,一切都变糟了

我尝试了指示的修复方法,但不起作用

以下是我在运行时(从“locale.js”)得到的错误:

该页面是使用带有Spring表单标记(form:form、form:input等)的JSP构建的,客户端验证是使用依赖于dojojavascript库的SpringValidation装饰器完成的

这是我要经过的领域:

@NotEmpty
@DateTimeFormat(style="S-")
private Date startDate;
下面是Javascript/Dojo客户端验证代码:

Spring.addDecoration(new Spring.ElementDecoration({
    elementId : "startDate",
    widgetType : "dijit.form.DateTextBox",
    widgetAttrs : {
        missingMessage : parms.required,
        invalidMessage : parms.wrongFormatMessage,
        required : true,
        regExp : parms.textFieldPattern }
}));
下面是实际的表单标签:

<form:input id="startDate" path="startDate" />


有人有什么想法吗?它发生在Dojo/Spring内部的某个地方,我不确定如果我给它传递一个“日期”,它为什么会失败,但如果我给它传递一个包含日期值的“字符串”,它就会工作。

问题原来是表单支持对象上日期属性的@DateTimeFormat。这不起作用:

@DateTimeFormat(style="S-")
private Date startDate;
但这确实:

@DateTimeFormat(iso = DateTimeFormat.ISO.DATE)
private Date startDate;
显然Javascript和DojoDateTextBox对日期格式非常挑剔

@DateTimeFormat(iso = DateTimeFormat.ISO.DATE)
private Date startDate;