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