7

ここにいくつかのコードがあります:

<f:view>
    <h:form id="formA">
        <p:treeTable id="tree">
            <p:ajax event="select" listener="..." update="mustRefresh" />  
            ...
        </p:treeTable>
    </h:form>
    <h:form id="formB">
        <p:panel id="mustRefresh"> ... </p:panel>

    </h:form>   
</f:view>

ユーザーが treeTable(formA) でレコードを選択すると、その詳細が formB に表示され、編集できるようになります。私の問題は、 update="mustRefresh" が機能しないことです。次のような例外がスローされます。

javax.faces.FacesException: Cannot find component with identifier "mustRefresh" referenced from "A4578:formA:tree". 

@form、formB、:formB、:mustRefresh を試してみましたが、うまくいきません。

4

2 に答える 2

24

mustRefreshコンポーネント階層は内部にあるため、次のformBように参照する必要があります。

<p:ajax event="select" listener="..." update=":formB:mustRefresh" />

UIComponentBase.findComponentの仕組みをご覧ください。

于 2013-01-09T06:28:27.423 に答える