【问题标题】:Struts 2 JQuery Datepicker Issue with Java.util.DateStruts 2 JQuery Datepicker 问题与 Java.util.Date
【发布时间】:2019-03-25 08:37:02
【问题描述】:

我正在使用 Struts2 jQuery Datepicker 插件。对于标签库、JSP、后端,我添加了以下代码 sn-p 供您参考。我使用 java.util.Date 类作为后端。每次我运行代码时都会出错。根据我的理解,struts2-jquery 不会直接将 datePicker 值转换为java.util.Date,我们需要将 startDate 的 dateType 从java.util.Date 更改为String。如果我错了,请纠正我。 有没有更好的解决方法?

在应用程序的任何地方使用String 并不是最好的解决方案,因为我需要更新很多地方,当然服务和DAO 的实施也会受到影响。

提前致谢。

标签库:

<%@ taglib prefix="sj" uri="/struts-jquery-tags" %>

JSP 日期选择器:

<sj:datepicker id="startDate" name="searchFilter.startDate" cssStyle=" width:110px" displayFormat="mm/dd/yy" buttonImage="images/calendar.gif"/>

Java 代码后端:

private Date startDate;

public Date getStartDate() {
    return startDate;
}

public void setStartDate(Date startDate) {
    this.startDate = startDate;
}

错误:

Error setting expression 'startDate' with value '[Ljava.lang.String;@412acad5'
java.lang.NoSuchMethodException: setStartDate([Ljava.lang.String;)

【问题讨论】:

  • 它需要一个带有字符串参数的方法
  • @PranavCBalan,是的,但是如果您查看后端,我清楚地提到了 java.util.Date 为什么要处理字符串?有什么办法可以使用 java.util.Date?
  • 抱歉我不熟悉struts2

标签: javascript java jquery datepicker struts2


【解决方案1】:

我在互联网上找到的可能解决方案是因为我不想更改我的 ServiceDaoImpl 类。我所做的是我在数据类型String 的java 类中定义了一个变量,并与我使用startDate(java.util.Date) 的jsp 组件绑定

private String startDateValue;

public String getStartDateValue() {
    return startDateValue;
}

public void setStartDateValue(String startDateValue) {
    this.startDateValue = startDateValue;
}

在 setter 方法中,我必须定义 java java.text.SimpleDateFormat 对象以将 String 值解析为 java.util.Date 对象。

final Date startDate = new SimpleDateFormat("dd/MM/yyyy").parse(startDateValue);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-11
    相关资源
    最近更新 更多