2013-05-16 6 views
3

A는이 같은 페이지 뭔가를 :업데이트 UI : 반복 부분적으로 JSF Primefaces

<h:form id="form"> 
    <h:panelGroup id="panel"> 
     <ui:repeat id="repeat" value="#{myBean.ojects}" var="item"> 
      <h:panelGroup id="itemPanel"> 

       <h:selectOneMenu ..... > 
        <p:ajax process="@this" update="itemPanel"/> 
        <f:attribute name="item" value="#{item}" /> 
       </h:selectOneMenu ..... > 

      <h:inputText id="value" value="#{item.property}"/> 

      </h:panelGroup> 
     </ui:repeat> 
    </h:panelGroup> 
</h:form> 

내 문제는 내가 빈 내부의 객체 참조의 "속성"값을 변경하고 "itemPanel를 업데이트 한 후 "panelGroup, ui : repeat를 감싸는 전체 panelGroup을 업데이트하지 않으면 수정 된 값을 반환하지 않습니다. 첫 번째 경우에 응답에서 이전 값만 사용하여 업데이트가 발생했음을 알 수 있습니다. 나는 정말로 ui : repeat (값이 변경됨)의 한 부분만을 리로드 할 수 있어야하고, 그렇지 않으면 ui : repeat의 다른 부분 (사이클) 내에 데이터를 제출하지 않아야합니다.

UPDATE :

나는 전체 반복을 포함하는 패널이나 양식을 제출해야하는 경우 실제로 내가 변경 그러나 경우에, 그래서 그것을 업데이트 할 때 값이 변경되지 않습니다, 걱정하지 것이다 프로세스 값이 아무것도 전혀 업데이트되지됩니다 .. :(

+0

, 나는 그 문제라고 생각하지 않습니다 –

+0

가 되세요 해결책을 찾으십니까? 이말 문제 –

답변

0

는이 같은 그것을 시도 할 수 있습니다. 나는 모든 가능한 조합을 시도

<h:form id="form"> 
    <h:panelGroup id="panel"> 
     <ui:repeat id="repeat" value="#{myBean.ojects}" var="item" varStatus="varStatus"> 
      <h:panelGroup id="itemPanel"> 

       <h:selectOneMenu ..... > 
        <p:ajax process="@this" update="repeat:#{varStatus.index}:itemPanel"/> 
        <f:attribute name="item" value="#{item}" /> 
       </h:selectOneMenu ..... > 

       <h:inputText id="value" value="#{item.property}"/> 

      </h:panelGroup> 
     </ui:repeat> 
    </h:panelGroup> 
</h:form>