使用Java.util.Date的Struts 2 JQuery Datepicker问题

问题描述 投票:0回答:1

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

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

提前致谢。

日lib:

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

JSP datepicker:

<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;)
javascript java jquery datepicker struts2
1个回答
0
投票

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

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);
© www.soinside.com 2019 - 2024. All rights reserved.