我有和实体user
使用针对datepickers的jQuery插件从Struts2表单接收日期,每当我将日期格式从mm/dd/yyy/
更改为mm/yyyy
时,它就不再设置即使用户仍需要默认选择月/日/年,日期也正确日期。所以我的问题是,是否有解决方法或改变数据如何从表单传递到实体以使其工作的方法?
表格摘录:
<tr>
<td style="border: 0px;">Contract Start-1</td>
<td style="border: 0px;">
<sj:datepicker name="user.nat_gas_start1" displayFormat="mm/dd/yy" yearRange="20011:2020" value="currentUser.nat_gas_start1"/>
</td>
</tr>
<tr>
<td style="border: 0px;">Month Shopping For-1</td>
<td style="border: 0px;">
<sj:datepicker name="user.nat_gas_end1" displayFormat="mm/yy" yearRange="20011:2020" value="currentUser.nat_gas_end1"/>
</td>
</tr>
实体摘录(日期为Java SQL):
public void setNat_gas_start3(Date nat_gas_start3) {
this.nat_gas_start3 = nat_gas_start3;
}
public Date getNat_gas_end1() {
return nat_gas_end1;
}
表单执行和操作,它覆盖现有值并通过Hibernate将它们传递到数据库中。之前我将结束日期格式切换为mm/yyyy
格式。
答案 0 :(得分:1)
您不应该切换日期格式,日期格式'mm / yyyy'被错误地处理,因此错误的日期值被转换为操作。以下是正确日期格式的示例:
<sj:datepicker value="today" id="date3" name="date3" displayFormat="dd.mm.yy" label="Today" />
<sj:datepicker value="yesterday" id="date4" name="date4" displayFormat="mm/dd/yy" label="Yesterday" />
<sj:datepicker value="tomorrow" id="date5" name="date5" displayFormat="DD, d MM yy" label="Tomorrow" />
<sj:datepicker value="2004-08-14" id="date6" name="date6" displayFormat="d M, yy" label="String Value" />