2012-03-30 5 views
0

나는 매우 이상한 문제에 직면하고 있습니다. 내 편에서 디버깅 한 후, 나는 포럼에 같은 질문을 게시 할 생각이었다.페이지가 Jsf 2.0에서 ajax를 사용하여 렌더링되지 않습니다

문제점 : : 2 개의 JSF Datatables에 "TableA"및 "TableB"가 있습니다. TableB에 몇 가지 요소가 있습니다. 이제 TableA로 이동하여 TableB에서 삭제되거나 보이지 않는 기준에 따라 일부 기사를 이동하려고합니다.

TableA에 요소를 추가 할 수 있으며 TableB에있는 요소를 인쇄했지만 UI에 동일한 변경 내용이 반영되지 않아 요소가 TableB에서도 삭제되었음을 알 수 있습니다.

코드는 다음과 같습니다 여기

<div id="selectedTableId" class="ArtSlected"> 
<h:dataTable id="selectedArtTable" value="#{articleBean.artList1}" var="sel" width="100%" border="0" cellspacing="0" 
      cellpadding="0" columnClasses="center" class="TableStyle"> 
    <h:column> 
    <h:commandButton id="deleteArticle" image="../resources/images/Delete.png" action="#{articleBean.deleteAction}"> 
     <f:setPropertyActionListener target="#{articleBean.articuloPromocionVO}" value="#{sel}"/> 
     <f:ajax render=":articleSelectionForm:artDescTable selectedArtTable" execute="@form"/> 
    </h:commandButton> 
    </h:column> 
    <h:column> 
    <f:facet name="header">#{msgs.mpromo_article_selection_articles_selected}</f:facet> 
    #{sel.articuloNombre} - #{sel.descripcion} 
    </h:column> 
</h:dataTable> 
</div> 

는 articleSelectionForm는 selectedArtTable이 TableB의를 의미 TableA의 에 artDescTable가 참조하는 형식 이름입니다.

<f:ajax> 태그에 대해 여러 조합을 시도했지만 아무런 문제가 없습니다. 내가 이해 잘못 어딘지 예,

<f:ajax render=":articleSelectionForm:artDescTable :articleSelectionForm:selectedTableId:selectedArtTable" execute="@form" /> 

<f:ajax render=":articleSelectionForm:artDescTable :articleSelectionForm:selectedArtTable" execute="@form" /> 

<f:ajax render=":articleSelectionForm:artDescTable selectedArtTable" execute="@form" /> 
말해주십시오.

+0

두 가지 형식이 있다는 것을 독자의 코드에서 읽을 수 있습니까? –

+0

안녕하세요 매트, 전 한가지 양식이 있습니다 – Leinz

답변

0

구성 요소의 클라이언트 ID를 참조해야합니다. 우선 클라이언트 ID를 알아내는 가장 쉬운 방법은 브라우저에서 페이지를 열고 오른쪽 버튼을 클릭하고 소스보기과 JSF 구성 요소의 HTML 표현을 찾습니다. 그것은 당신이 정확히이 값을 가지고 :으로 접두사하기 위해 필요한이

<table id="foo:bar:tableId" ...> 

처럼 보일 것이다. 이 :로 시작 아니에요 경우

<f:ajax render=":foo:bar:tableId" ... /> 

, 기본 NamingContainer 분리 문자는, 다음은 현재 NamingContainer 부모를 기준으로 해결 될 것입니다. 이러한 구성 요소는 <h:form>, <h:dataTable>, <ui:repeat>, 복합 구성 요소 등입니다.

+0

감사합니다. BalusC ... :-) – Leinz

관련 문제