2011-03-24 3 views
2

나는 Mojarra, PrimeFaces 2.2.1 및 Tomcat 6.x를 사용하여 JSF 2.0 프로젝트에서 작업하고 있습니다.핸들 primeface의 달력에서 날짜 변경

내 응용 프로그램이 국제화되었습니다. 다음과 같은 프라임 캘린더를 사용합니다.

<p:calendar value="#{boxItem.agendaDate}" mode="inline" 
     showOtherMonths="true" styleClass="agendaHBox" 
     selectListener="#{boxItem.handleAgendaDateChange}" 
     onSelectUpdate="@form"/> 

내 로캘이 영어와 다른 경우 selectListener 특성을 사용할 때 문제가 발생합니다.

예를 들어, 로캘이 스페인어로 설정된 경우에 발생합니다. 캘린더가 나타나면 현재 날짜로 설정됩니다. 2011 년 3 월 24 일. 2011 년 3 월 25 일과 같이 다른 날을 클릭하면 selectListener 메서드가 호출되지만받는 날짜는 "Thu May 03 00:00:00 CEST 2012" 이며 갑자기 의제가 2012 년 3 월 5 일으로 변경됩니다. 내가 selectListener 속성을 제거하면 달력 (3 월 2011로 숙박 및 17 선택) 제대로 동작합니다

public void handleAgendaDateChange(DateSelectEvent event) 
{ 
    System.err.println("handleAgendaDateChange = " + event.getDate()); 
} 

있지만이 경우에는 날짜 변경을 처리하는 문제가 :

selectListener 방법이다.

사용자가 캘린더 컨트롤에서 새 날짜를 선택하고 Ajax 요청과 함께 백엔드로 전달할 때 실행할 코드가 필요합니다. selectListener없이 어떻게 할 수 있습니까?

답변

2

en과 다른 로케일로 사용하면 p:calendar은 버그가있는 것 같습니다 (list of open issues related to calendar and locale).

+0

그래, 나는 그것이 버그라고 확신했지만, 어떻게 아약스를 재현 할 수 있습니까? –

+1

primeface를위한'p : ajax' 태그가 있습니다. 당신은 그것을 시도해 볼 수 있습니다 :'

' –

+0

Matt (특히 미발표 목록)에 감사드립니다. –