2012-01-24 4 views
2

JSFアプリでRich:Calendarを使用したいと思っています。 CalendarDataModelを使用して、週末や休日などの日付の選択を制限する予定です。使用する日付の形式はJoda Timeに基づいています。リッチカレンダーとJoda時間の統合

問題は豊富なことである:カレンダーは、JDKカレンダーに基づいているので、私はディスプレイ用のJDKカレンダーを使用し、それが永続化されたときに、後にjodatimeする日付を変換するために考えています。

は誰でもリッチを使用しています:カレンダー/ジョダ時間をcalendardatamodelで日付を選択するために、あなたはあなたの貴重な考えを共有することができます。おかげ

答えて

3

あなたが豊かにjodatime-オブジェクトを有効にするには、カスタムFacesConverterを使用することができます:カレンダー、JDKカレンダーを使用する必要はありません。 コンバータをrich:calendarで指定し、Converterインターフェイスの2つのメソッドを実装するだけです(例: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); 
    } 
} 
関連する問題