2

我有user一个使用 jQuery 插件从 Struts 2 表单接收日期的实体,datepicker每当我将日期格式从 更改为 时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

4

1 回答 1

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" />
于 2013-07-13T19:04:17.983 回答