2

私はjavascript関数を持っているJSFファイルに取り組んでおり、これにはいくつかのjqueryが含まれています。1) OK と 2) キャンセルの 2 つのボタンを持つダイアログを設計しました。キャンセルボタンでプロセスを中止するように設計しましたが、問題はありません。
しかし、私が達成したいのは、ユーザーが [OK] を押すと、プログラムがバッキング Bean (Java Bean) メソッドを呼び出す必要があるということです。これを管理できた人はいますか?

あなたのすべての助けとヒントに感謝します

4

3 に答える 3

2

重要なのは、jQueryがJSFのHTML表現でクリックイベントをトリガーするようにする必要があるということです<h:commandButton>。必要に応じて、CSSでフォーム/ボタンを非表示にすることができますdisplay:none

例えば

<h:form id="formId" style="display:none">
    ...
    <h:commandButton id="buttonId" ... />
</h:form>

$("[id='formId:buttonId']").click();

ただし、これはやや不器用です。<h:commandButton>直接「OK」ボタンとして使ってみませんか?さらに、JSF用のjQueryベースのコンポーネントを再発明することは、長期的には苦痛になる可能性があります。頭痛や定型文のコードを節約するために、たとえばPrimeFacesを見たことがありますか?すでに裏でjQueryとjQueryUIを使用しています。たとえば<p:confirmDialog>、showcaseも参照してください。

参照:

于 2012-12-10T11:43:43.307 に答える
1

これが必要だと思います:

<h:form>
   <h:commandButton value="OK" action="#{bean.submit}" />
</h:form>
于 2012-12-10T16:40:25.990 に答える
0

richfacesを含める場合は、リッチjsFunctionコンポーネントを使用して、バッキングBeanのアクションメソッドを呼び出すことができます。http://livedemo.exadel.com/richfaces-demo/richfaces/jsFunction.jsf; jsessionid = 168EE2D49DC8BB1BA781B1C880B4B511?c = jsFunction&tab =利用方法

<a4j:jsFunction name="pressOK" reRender="showname" action="#{bean.action}" oncomplete="callback()">

    </a4j:jsFunction>

これにより、javascript関数pressOK()を呼び出すことができます

于 2012-12-11T17:12:43.063 に答える