2016-09-28 9 views
1

다음과 같이 만 시간 을 채우기 위해 달력에 직면 :행동이나 패턴을 사용할 때의 actionListener 해고하지 내가 전성기를 사용할 필요가 일정

<h:body> 
    <h:form> 
     <p:calendar pattern="hh:mm a" value="#{bean.startTime}"/> 
     <p:commandButton value="Save" actionListener="#{bean.saveAppointment}" /> 
    </h:form> 
</h:body> 

을 그러나 "HH를 : mm은"총리의 일정 페이지에 직면 saveAppointment 메서드가 전혀 실행되지 않습니다. 예외없이

나는이 문제를 추적 한 후 패턴에서 즉 a을 생략하면 (패턴이 pattern="hh:mm"이 됨) 프리 메이지가 표지에서 사용하는 날짜 변환의 문제라고 결론을 냈습니다. 그런 다음 문제는 정상적으로 발사되었습니다.

Primefaces 버전은 내가 pattern="HH:mm"을 사용하고 자본 H 기반 시간 0-23를 만들 것입니다하여 해결 방법을 발견했다 6

답변

1

입니다.

-1

옵션을 확인하십시오 : timeOnly = "true".

+0

이것은 부적절합니다. 캘린더 팝업 날짜 또는 시간 만 표시하려는 방법과 관련이 있습니다. –

+0

Ok, 아마도이 문제와 관련이 없습니다. 그러나 나는 당신이 무엇을 달성하기를 원하지는 모르겠다. 예상 값은 예를 들어 '09 : 33 AM '이며이 경우 값은 정확합니다 ('09 : 33 AM'입력 시도).이 입력에 대한 유효성 검증이 다른 경우 (hh : mm 형식의 값인 경우) 작업을 호출 할 수 있으며 이것이 행동이 실행되지 않은 이유입니다. 유효성 검사 오류는 p : 메시지를 추가하면 예외적으로 정상적인 동작입니다. 오류 메시지가 나타날 수 있습니다. – szarotka

+0

위의 간단한 예제를 적용 해 보면 액션이 실행되지 않은 방법을 볼 수 있습니다. –