、あなたはそれを変更したい場合は、要素を作成し、JavaScriptメソッドを上書きする必要があります、このような何か:もちろん
var calendar = #{rich:component('calendar')};
var fn = calendar.calendarContext.currentMonthControl;
calendar.calendarContext.currentMonthControl = function(context) {
var newDate = RichFaces.calendarUtils.formatDate(context.calendar.getCurrentDate(), "MMM, yyyy", context.monthLabels, context.monthLabelsShort);
var markup = fn(context);
markup.childs[0].value = newDate;
return markup;
}
、あなたは確認する必要がありますカレンダーが再レンダリングされると、このコードも再レンダリングされます。
ほとんどのカレンダーコードはクライアント側で作成されます。 (注:これは内部的なものですが、これがどのように機能するかは分かりません)。
calendar.calendarContext.currentMonthControl
は、ラベルを作成するための責任がある、それはこのオブジェクトを返します。
{
"tag":"div",
"attrs":{
/* event listeners, unimportant */
},
"childs":
[{"value":"April, 2016"}]
}
あなたは何このオブジェクトを変更し、新規にオリジナルのメソッドを置き換えるです。 RichFaces.calendarUtils.formatDate
は元の関数で "MMMM、yyyy"というパターンで呼び出されますので、別のパターンで呼び出すと元の関数が呼び出され、テキストが置換され、変更されたオブジェクトが返されます。
RichFacesの新しいコードを説明してください。非常に残念ですが、RichFacesの新機能は非常に残念です。 – Anupam
RichFacesを初めてお使いの場合は、このコードを使いこなすことはお勧めしません。 – Makhiel