0

a4j:jsFunction管理対象Bean内でメソッドを呼び出し、そこから別のjsfページに転送するメソッドを作成することは可能ですか?

前もって感謝します。

4

2 に答える 2

1

いいえ、<a4j:jsFunction>Ajaxを介してサーバーと通信するHTMLで使用可能なjavascriptメソッドを作成するため、これは不可能です。代わりに、次のような醜いことをすることができます。

<h:form id="myForm">
    <a4j:jsFunction name="myJSFunction" action="#{myBean.jsLogic}"
        oncomplete="document.getElementById('myForm:btnForward').click();" />
    <a4j:commandButton id="btnForward" style="display: none;"
        action="#{myBean.doForward}" />
</h:form>

この場合、js関数の最後で、ナビゲーションを実行できる<a4j:commandButton><a4j:commandLink>またはその他のhコンポーネント)のメソッドを呼び出します。

于 2012-08-03T07:20:41.223 に答える
0

まあ、それは実際には転送ではありませんが、リダイレクトを行うことができます:

navigation-case対応するfaces-configファイルに対応するタグがあることを確認してください。

<redirect />

次に、ajax呼び出しの後、ブラウザーは指定されたページにリダイレクトされます。

これには、2つのサーバー呼び出し(ajax 1つ、次にリダイレクト)を行うLuiggiの応答に関して不利な点があります。

利点として、それはよりクリーンなコードを作ります。

于 2016-04-04T10:52:55.897 に答える