설정 : 나는 2 개 형태의 형태 A의 나는 CommandLink는을 가지고 & B 있습니다Ajax가 폼에서 트리거되어 다른 폼을 업데이트하는 경우 Facelets가 전체 페이지를 다시 작성합니까?
<h:commandLink actionListener="#{homeView.selectDiv('homeUpdates')}">#{msg.homeUpdates}
<f:ajax render=":B" execute="@this" />
</h:commandLink>
... 업데이트 B.
형성문제는 그 나는 아약스 링크를 클릭 할 때 , 그것도 양식을 다시 작성하고 ui : except에서 예외를 얻습니다. 이것은 올바른 행동입니까? 양식 A도 다시 작성해야합니까?
내가 JSF 2.2 사용하고 및 양식 A는 UI가 포함되어 조각 => UI는 :
이 ===== 추가 SSCCE의 ======= 는 다음 코드가하는 반복 => UI를 포함 업데이트 B를 눌러도 실행되지 않습니다! 두번. 그것은 중복 ID의 예외를 제공합니다. UI의 값 : 반복은 뷰는 뷰가 복원 포스트 백에을 생성 초기 요청에 따라
<h:head>
</h:head>
<h:body>
<h:form id="A">
<ul class="tableView notification">
<ui:repeat var="notification" value="#{dashboardBean.notifications}">
<li>
xx
</li>
</ui:repeat>
</ul>
<h:commandLink value="Update B!" listener="#{dashboardBean.toggleRendered}">
<f:ajax execute="@this" render=":B" />
</h:commandLink>
</h:form>
<h:form id="B">
</h:form>
</h:body>
추가 힌트 : 렌더링을 "- A : B"로 수정하면 오류가 사라집니다. 어떤 이유로 '실행'이 양식을 다시 작성하고 다른 이상한 이유로 ui : 같은 ID로 다시 반복하므로 다음 오류가 발생합니다. 구성 요소 ID navigation_form : uif1에는 이미보기에서 발견되었습니다. –