1

私が正しい軌道に乗っているのか、それともまだこの質問をしていないのかはわかりません。

私のJSFプロジェクトには、次のツリー構造があります。

 <p:tree id="resourcesTree" value="#{someBean.root}" var="node" selectionMode="single" styleClass="no-border"
    selection="#{someBean.selectedNode}" dynamic="true">
    <p:ajax listener="#{someBean.onNodeSelect}" update=":centerPanel :tableForm :tabForm" event="select" onstart="statusDialog.show();"
        oncomplete="statusDialog.hide();" />
    <p:treeNode id="resourcesTreeNode" >
        <h:outputText value="#{node}" id="lblNode" />
    </p:treeNode>
</p:tree>

何かを追加または削除した後、このツリーを更新する必要があります。

これにより、:tableForm がビューに見つからないというエラーが表示されます。これは、このフォームが中央パネルに読み込まれ、このツリーが右側のパネルにあるためです. ..(つまり、デザインはこのようなものだけです)

だから今私の質問は、ネストされたコンポーネントをいつ更新するか、いつ更新しないかを指定できるように、何らかの条件を設定できるか、何らかの方法があるかということです..ナットシェルでは、:resoucesTree のみを更新する方法はありますか?エラーを回避できるように、ネストされた更新は呼び出されません...

前もって感謝します。

4

1 に答える 1

1

update属性でELを使用できます。

update=":centerPanel :tabForm #{hasTableForm ? ':tableForm' : ''}"

フィクティブ#{hasTableForm}はブール値を返します。

ただし、が既にの:tableForm中にある場合は:centerPanel、省略できます。

update=":centerPanel :tabForm"
于 2012-06-18T18:59:45.703 に答える