не принимает java.util.Calendar - PullRequest
2 голосов
/ 17 июня 2011

Я пытаюсь использовать rich:calendar, и это работает, когда свойства даты selectedDate и currentDate имеют тип Date.Когда я использую Calendar, это не работает.

Когда я отправляю форму, она сообщает:

SEVERE: Servlet.service() for servlet [Faces Servlet] in context with path [/PORTAL] threw exception [javax.el.ELException: /test.xhtml @58,36 value="#{bean.calendar.selectedDate}": Cannot convert 24.6.11 0:00 of type class java.util.Date to class java.util.Calendar] with root cause
javax.el.ELException: /test.xhtml @58,36 value="#{bean.calendar.selectedDate}": Cannot convert 24.6.11 0:00 of type class java.util.Date to class java.util.Calendar

Мой XHTML :

<rich:calendar 
  mode="ajax" id="calendar"
  value="#{bean.calendar.selectedDate}"  
  locale="#{calendarBean.locale}"  
  datePattern="#{calendarBean.pattern}"                        
  required="true">                   
</rich:calendar>

И календарный компонент :

@ManagedBean
public class CalendarBean
{    
  private Calendar currentDate;  
  private Calendar selectedDate;

  public Calendar getCurrentDate() {  
    return currentDate;  
  }  
  public void setCurrentDate(Calendar currentDate) {  
    this.currentDate = currentDate;  
  } 
  public Calendar getSelectedDate() { 
    return selectedDate;  
  }  
  public void setSelectedDate(Calendar selectedDate) {  
    this.selectedDate = selectedDate;  
  }

Что я делаю не так?

1 Ответ

4 голосов
/ 17 июня 2011

Класс Calendar имеет свойство time, представляющее java.util.Date, в комплекте с getter и setter .Используйте это.

value="#{bean.calendar.selectedDate.time}"  
...