我有一个实体 user
,它使用 datepicker
的 jQuery 插件从 Struts 2 表单接收日期,每当我从 mm 更改日期格式时/dd/yyy/
到 mm/yyyy
它不再正确设置日期,即使用户仍然必须选择 month/day/year
默认使用日历。
所以我的问题是,是否有解决此问题的方法或改变数据从表单传递到实体的方式以使其工作的方法?
表格摘录:
<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
格式。
最佳答案
您不应该切换日期格式,日期格式 '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" />
关于java - Struts 2 jQuery Datepicker 格式问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17632530/