datepicker提交字符串而不是日期

时间:2012-07-15 20:18:02

标签: jquery struts2 datepicker type-conversion freemarker

在我的网络应用程序中,我正在使用struts2和freemarker。区域设置使用法语("dd/MM/yyyy")。 在我的freemarker模板中,我在一个输入元素中定义了jQuery ui datepicker,其name属性指向了我的对象的date属性。

问题是,在表单提交时,有时我会收到ognl警告"type conversion error - Cannot set String into the Date object."。作为回应,我可以看到消息cannot finc input results in my action.这很奇怪,因为问题有时会发生,有时候不会......

在我的页面中,我有一个产品列表,其中包含输入和名称,如product[1].startDate, product[2].startDate等,这些内容在我的操作中由列表链接。

我尝试将locale设置为struts.properties到法语,这非常有帮助,但仍有10%的时间我可以看到这个问题。

有人能告诉我如何将datepicker映射到Date对象而不将其转换为字符串吗?

2 个答案:

答案 0 :(得分:0)

调用.datepicker()函数时,您是否尝试过dateFormat选项?

$( ".selector" ).datepicker({ dateFormat: "dd/MM/yyyy" });

日期选择器允许您选择在文本字段中输入的格式,因此在提交时传递。

答案 1 :(得分:0)

我认为问题可能是StringDate次转化造成的。查看我之前的两篇帖子herehere,了解转化详情。您还可以查看StrutsTypeConverterDefaultTypeConverter的javadoc。