1

我在 Wicket 的 DateTextField 中有问题。我想将它默认设置为空,null,因此可以在有人选择它之后选择日期。但默认情况下,它将值设置为当天。如何“清除”它,所以这个日期文本字段中什么都没有?这是我的日期字段代码:

DateField date_insert_date_from = new DateField("insert_date_from", new PropertyModel(this, "date")) {

        /**
         * Format date to yyyy-MM-dd pattern.
         */
        @Override
        protected DateTextField newDateTextField(String id, PropertyModel dateFieldModel) {
            return DateTextField.forDatePattern(id, dateFieldModel, "yyyy-MM-dd");
        }
    };
    form.add(date_insert_date_from);
4

1 回答 1

3

正如@kan 所说,您需要确保日期字段的模型对象是null.

这样做的简单方法是:

DateField date_insert_date_from = new DateField("insert_date_from", new Model<Date>(null));

现在,如果有人在日期字段中输入日期并提交表单,模型将包含所选日期,您可以通过以下方式检索它:

Date chosenDate = date_insert_date_from.getModelObject();

如果您想使用 propertymodel,就像您一样,您需要确保 propertymodel 作用的对象(this在您的情况下)具有能够保存该字段的日期和 getter/setter 方法的字段。

在你的情况下,this.date应该用初始化null并且this应该有

public Date getDate()

public void setDate(Date date)

方法。

于 2013-07-12T11:23:05.293 回答