在我的网络应用程序中,我正在使用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对象而不将其转换为字符串吗?
答案 0 :(得分:0)
调用.datepicker()
函数时,您是否尝试过dateFormat选项?
$( ".selector" ).datepicker({ dateFormat: "dd/MM/yyyy" });
日期选择器允许您选择在文本字段中输入的格式,因此在提交时传递。
答案 1 :(得分:0)
我认为问题可能是String
到Date
次转化造成的。查看我之前的两篇帖子here和here,了解转化详情。您还可以查看StrutsTypeConverter和DefaultTypeConverter的javadoc。