Интеграция Rich Calendar с Joda Time - PullRequest
2 голосов
/ 24 января 2012

Я хочу использовать Rich: Calendar в моем приложении JSF.Я планирую использовать CalendarDataModel, чтобы ограничить выбор некоторых дат, таких как выходные, праздничные дни и т. Д. Используемый нами формат даты основан на времени Joda.

Проблема заключается в том, что Rich: Calendar основан на календаре JDK, поэтому я думаю использовать календарь JDK для отображения и преобразовать дату в йодатим позже, когда она будет сохранена.

Кто-нибудь использовал Rich: Calendar / Joda Time для выбора даты с помощью calendardatamodel, не могли бы выподелитесь своими ценными мыслями.Спасибо

1 Ответ

3 голосов
/ 11 марта 2012

Вы можете использовать пользовательский FacesConverter для включения jodatime-объектов в rich: calendar, нет необходимости использовать JDK Calendar.Просто укажите конвертер в rich: calendar и реализуйте два метода интерфейса конвертера (например, используя LocalDate).

JSF с Richfaces 4.2

<rich:calendar value="#{myObject.myLocalDate}" datePattern="dd.MM.yyyy" converter="localDateConverter"/>

Ваш конверторный класс:

@FacesConverter(value = "localDateConverter")
public class LocalDateConverter implements Converter {
    public Object getAsObject(FacesContext facesContext, UIComponent uiComponent, String localDateInTextFormat) {
        return DateTimeFormat.forPattern("dd.MM.yyyy").parseLocalDate(localDateInTextFormat);
    }
    public String getAsString(FacesContext facesContext, UIComponent uiComponent, Object localDate) {
        return DateTimeFormat.forPattern("dd.MM.yyyy").print((LocalDate)localDate);
    }
}
...