2011-10-19 2 views
2

最良の方法は一例を与えることで繰り返される:から2 UIとの間にあるpanelgroupを再描画しようとすると:私は何をしようとしている説明する

<h:form prependid="false" > 
    <h:panelGroup id="layer1"> 
     <ui:repeat> 
      <h:panelGroup id="layer2> 
       <ui:repeat> 
        <h:panelGroup id="layer3"> 
         <h:commandButton> 
          <f:ajax render="layer2" execute="@form" /> 
         </h:commandButton> 
        </h:panelGroup> 
       </ui:repeat> 
      </h:panelGroup> 
     </ui:repeat> 
    </h:panelGroup> 
</h:form> 

h:commandButtonを押すと上記の例では、ID layer2が存在しないというJSFの例外があります。

これを正しく行うにはどうすればよいですか?

ありがとうございます!

答えて

2

次はこのために出て働く必要があります。

<f:ajax render=":#{component.parent.parent.parent.parent.clientId}:layer2" execute="@form" /> 

それだけMyFacesのではなく、クロサギ科(まだ)で動作します。その<ui:repeat>は多くの点で壊れています。

+0

ありがとうございました! (MyFacesを使用して)これを行うための "合理化された"方法があることを希望します.. – Ben

+0

私も。 'render =":#{component.parent.parent.parent.clientId} "は理論的には動作するはずですが、そうではありません。また、 '' render = ":#{layer2.clientId}" 'で' 'は理論的には動作するはずですが、そうではありません。両方のアプローチは、「」が画像に入っていないとき、MyFaces/Mojarraの両方で動作します。だから、おそらくMyFacesで*ビット*が壊れているかもしれません。 – BalusC

関連する問題