Java Spring日期时间转换服务异常
我得到一个例外: 无法将java.lang.String类型的属性值转换为属性startTime所需的类型Java Spring日期时间转换服务异常,java,spring,date,spring-mvc,datetime,Java,Spring,Date,Spring Mvc,Datetime,我得到一个例外: 无法将java.lang.String类型的属性值转换为属性startTime所需的类型java.util.Date;嵌套异常为org.springframework.core.convert.ConversionFailedException:未能将值为10:00的java.lang.String类型转换为java.util.Date类型;嵌套异常是java.lang.IllegalArgumentException 尝试输入时间并通过表单发送给控制器时 我对日期也有同样的问
java.util.Date;嵌套异常为org.springframework.core.convert.ConversionFailedException:未能将值为10:00的java.lang.String类型转换为java.util.Date类型;嵌套异常是java.lang.IllegalArgumentException
尝试输入时间并通过表单发送给控制器时
我对日期也有同样的问题,但通过我在网上找到的一个例子成功地解决了这个问题:
<bean id="dateFormat" class="java.text.SimpleDateFormat">
<constructor-arg value="dd/MM/yyyy" />
</bean>
<bean id="appointment" class="com.nw.model.Appointment">
<property name="theDate">
<bean factory-bean="dateFormat" factory-method="parse">
<constructor-arg value="22/05/1983" />
</bean>
</property>
<property name="startTime">
<bean factory-bean="timeFormat" factory-method="parse">
<constructor-arg value="22/05/1983 10:00:34" />
</bean>
</property>
<property name="endTime">
<bean factory-bean="timeFormat" factory-method="parse">
<constructor-arg value="22/05/1983 10:00:23" />
</bean>
</property>
</bean>
表单使用thymeleaf,模型的字段是日期对象
如果需要,我可以发布模型/表格的其余部分。提前感谢。您遇到的特定异常会让我有点担心,因此我希望看到整个堆栈跟踪 也就是说,您正在尝试使用格式字符串
HH:MM
解析格式为dd/MM/yy HH:MM:ss
的String
s。这会导致ParseException
,因为它不知道如何处理字符串的前导日期部分(dd/MM/yy
)
请尝试以下操作:
<bean id="timeFormat" class="java.text.SimpleDateFormat">
<constructor-arg value="dd/MM/yy HH:mm" />
</bean>
这将捕获您试图表示的完整时间瞬间(尽管它将使用系统的时区,您可能不希望这样)
<bean id="timeFormat" class="java.text.SimpleDateFormat">
<constructor-arg value="dd/MM/yy HH:mm" />
</bean>