org.apache.wicket.extensions.yui.calendar.timefield как использовать калитку

Поэтому я пытаюсь заменить текстовое поле, чтобы получать время от моих пользователей, на TimeField (типа, указанного в заголовке).

Я сталкиваюсь со всеми видами проблем. А именно, что TimeField, безусловно, должен иметь тип Timefield, и его нелегко преобразовать в java.util.Date или даже в строку??? Очень обидно. В любом случае, я продолжаю получать

Caused by: java.lang.ClassCastException: com.usaa.infrastructure.calculator.admin.panels.SloDefinitionEditPanel$21 incompatible with java.util.Date
at org.apache.wicket.extensions.yui.calendar.DateTimeField.onBeforeRender(DateTimeField.java:429)

Итак, в основном, это то, что у меня есть в моей панели:

private TimeField                            dueTimestamp           = null;

Я также установил стандартный класс Timefield...

randoTimestamp = new TimeField("randoTimestamp", new PropertyModel<Date>(this, "randoTimestamp"))
    {   
        private static final long serialVersionUID = 1L;

        @Override
        public boolean isEnabled()
        {
            return readOnly ? false : true;
        }

        @Override
        protected boolean use12HourFormat(){
            return false;
        }


    };

Есть ли переопределение или что-то, что я могу использовать, чтобы помочь решить эту проблему java.util.date? Почти забыл упомянуть, я установил свой объект DAO как объект java.util.Date. Должен ли я установить его равным чему-то другому? Строка, т. Д.???

public class wackyVO implements Serializable {

private static final long serialVersionUID = -2592713376857273204L;

...  
private Date randoTimeStamp;  //<-- This variable
...
}

1 ответ

Проблема в том, что вы помещаете вашу Panel как объект в модель, которую вы передаете в TimeField.

используйте это, если ваш defaultObject установлен по умолчанию.

randoTimestamp = new TimeField("randoTimestamp", new PropertyModel<Date>(this.getDefaultModelObject(), "randoTimestamp"))

В противном случае используйте

randoTimestamp = new TimeField("randoTimestamp", new PropertyModel<Date>(this.getYourModelObject(), "randoTimestamp"))
Другие вопросы по тегам