0

私の JSF プロジェクトでは、PrimeFaces のメニュー コンポーネントを使用して、ajax 呼び出しによって UI ページの中央コンポーネント (UI ページの中央部分) を更新しています。

<p:menubar>
<p:submenu label="Actions">
    <p:submenu label="Create Privilege">
        <p:menuitem value="Create Administrative Privilege" actionListener="#{leftNavigationBean.selectCenterComponent}" update=":centerPanel">
            <f:attribute name="centerComponentName" value="/CreateAdminPrivilege.xhtml" />
        </p:menuitem>
        <p:menuitem value="Create Access Privilege" actionListener="#{leftNavigationBean.selectCenterComponent}" update=":centerPanel">
            <f:attribute name="centerComponentName" value="/CreateAccessPrivilege.xhtml" />
        </p:menuitem>
    </p:submenu>
</p:menubar>

コンポーネントが AJAX 呼び出しによって更新された後、その直後に JavaScript 関数を呼び出して、更新されたコンポーネントに対して何らかの操作を実行したいと考えています。

更新中のページの本文 OnLoad() で JavaScript 関数を呼び出してみました。しかし、このページへのajax呼び出しのために呼び出されていません。

そこで、この AJAX 呼び出し更新の JavaScript メソッドを呼び出す方法を理解する必要があります。これで私を助けて...

前もって感謝します。

4

2 に答える 2

4

p:menuItemこれには、のoncomplete属性を使用できます。

<p:menuitem ... oncomplete="doSomething()">

ajax呼び出しの成功とエラーをさらに区別する場合は、onsuccessまたはonerror属性を使用します。

<p:menuitem ... onsuccess="doSomething()" onerror="doSomethingElse()">
于 2012-06-11T10:29:33.987 に答える
0

jsf js APIを参照してください

例えば:

jsf.ajax.addOnEvent(function(data){
    if (data.status== 'success') {
        // do stuff
    }
});
于 2012-06-11T10:21:59.783 に答える