달력, oninputblur 이벤트와 이벤트에 onblur 다른 하나 허용 할 사용자에게 캘린더에서 날짜를 선택하려면 클릭하거나 수동으로 날짜를 입력하십시오. 사용자가 클릭하여 날짜를 선택한 다음 나중에 수동으로 편집 할 수있는 기회도 있습니다. 두 태그 모두 동일한 달력 구성 요소 ID를 다시 렌더링합니다. 테스트에서 지금까지이 작업하고 있지만 같은 ID에 "두 번"reRender 시도 할 때 서블릿 예외가 발생할 수있는 경우 모든 경우 궁금 무엇입니까? 나는 그들이 각각의 별개의 사건이기 때문에 그것이 아니라고 생각하고있다. 그러나 누군가가 그것에 대한 우려를 본다면 나는 진심으로 피드백에 감사 할 것이다. 아래는 제가 언급 한 코드입니다. 심 Richfaces의 2.2 버전을 사용하고있는이 특정 문제에 직면하고있는 사람들을위한여러 A4J 지원 태그 (심 2.2) 나는 richfaces 달력에 2 개 A4J 지원 태그를 추가 한 구성 요소
<s:decorate id="acctHldrBthDtField" template="/layout/edit.xhtml">
<ui:define name="label">Account Holder Birth Date</ui:define>
<rich:calendar id="acctHldrBthDt"
value="#{P18SlipHome.instance.acctHldrBthDt}"
datePattern="dd-MMM-yyyy" enableManualInput="true"
onfocus="saveCurrentFocus(this);" >
<a:support event="onblur" reRender="acctHldrBthDtField" ajaxSingle="true"/>
<a:support event="oninputblur" reRender="acctHldrBthDtField" ajaxSingle="true"/>
</rich:calendar><br/>Date format must be dd-Mmm-yyyy
</s:decorate>
미안 해요, 신중하게 검토해야 내 대답을 제출하기 전에. 여기에 대한 설명이 좀 더 필요합니다. ID 중복 우려는 근거가 없습니다. 위의 솔루션을 사용하여 ID를 조사하지 않았습니다. 이 문제가 해결 된 다른 문제는 수동으로 잘못된 날짜를 입력 한 다음 팝업 달력에서 올바른 날짜를 선택한 다음 다른 필드를 클릭해도 유효성 검사 오류가 사라지 지 않습니다. 다른 이벤트와 함께 두 번째 a4j 지원 태그를 사용하면 해당 문제가 해결되었습니다. 이 대답이 혼동을 일으키는 경우 다시 사과드립니다. – Randy