java - Struts 2 jQuery Datepicker 格式问题

标签 java jquery hibernate struts2 struts2-jquery

我有一个实体 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/

相关文章:

jQuery append 多个元素不仅仅是(this)

java - 使用 SessionFactory 时 Hibernate 中的奇怪 NumberFormatException

mysql - 使用 Hibernate 查找短语与数据库条目的部分匹配

java - eclipse servlet java.lang.ClassNotFoundException : javax. servlet.Servlet

java - 如何序列化注入(inject)的bean?

javascript - 使用 HTML、CSS 和 jQuery 的主从关系

hibernate - hibernate sessionfactory如何管理 session ?

java - 为mongo创建单例类

java - 将 Java 项目从 Eclipse 导出为带有附加引用 jar 的 JAR

javascript - 如何正确停止ajax请求