Apache Wicket DateTextField清除

时间:2013-07-12 08:32:33

标签: apache date wicket

我在Wicket的DateTextField中遇到了问题。我想将其默认设置为空,null,因此可以在有人选择日期之后选择日期。但默认情况下,它会将值设置为当天。如何“清除”它在这个datetextfield中没有任何东西?这是我的Datefield代码:

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);

1 个答案:

答案 0 :(得分:3)

正如@kan所说,你需要确保datefield的modelobject为null

这样做的简单方法是:

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

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

Date chosenDate = date_insert_date_from.getModelObject();

如果要像使用属性模型那样使用属性模型,则需要确保属性模型的作用对象(在您的情况下为this)具有能够保存日期和getter / setter方法的字段对于那个领域。

在您的情况下,this.date应使用null初始化,而this应该

public Date getDate()

public void setDate(Date date)

方法