ホームページ > ウェブフロントエンド > jsチュートリアル > ネイティブ JavaScript HTML DOM イベントから JSF マネージド Bean をトリガーするにはどうすればよいですか?

ネイティブ JavaScript HTML DOM イベントから JSF マネージド Bean をトリガーするにはどうすればよいですか?

Patricia Arquette
リリース: 2024-12-08 16:00:23
オリジナル
439 人が閲覧しました

How Can I Trigger a JSF Managed Bean from a Native JavaScript HTML DOM Event?

ネイティブ JavaScript を使用した HTML DOM イベントでの JSF マネージド Bean の呼び出し

ネイティブを使用した HTML DOM イベント中の JavaServer Faces マネージド Bean の操作JavaScript はさまざまな方法で実現できます。 jQuery は $(document).ready() 関数を使用して簡単なソリューションを提供しますが、JSF はそのフレームワークとシームレスに統合するさまざまなアプローチを提供します。

h:commandScript (JSF 2.3) の使用

このコンポーネントを使用すると、jQuery などの外部ライブラリに依存せずに、JavaScript 内で Bean アクションを実行できます。 autorun="true" を設定することで、DOM ロード イベント中に手動または自動で呼び出すことができる JS 関数を作成します。例:

<h:form>
    <h:commandScript name="commandName" action="#{bean.action}" render=":results" autorun="true" />
</h:form>
ログイン後にコピー

p:remoteCommand (PrimeFaces) の使用

PrimeFaces は、そのコンポーネントとシームレスに統合するコンポーネントである を提供します。 jQueryベースのAjaxエンジン。 と比較すると、jQuery を使用して Ajax リクエストをトリガーします。

<h:form>
    <p:remoteCommand name="commandName" action="#{bean.action}" update=":results" autoRun="true" />
</h:form>
ログイン後にコピー

o:commandScript (OmniFaces) を使用する

Ifアプリケーションは OmniFaces を利用しているため、代わりに使用できます は、同じ機能を提供しますが、古い JSF 2.x バージョンと互換性があります。

<o:form>
    <o:commandScript name="commandName" action="#{bean.action}" render=":results" autorun="true" />
</o:form>
ログイン後にコピー

隠しフォーム トリック

もう 1 つこのオプションには、コマンド ボタンを含むフォームがページ上に表示されますが、次のコマンドを使用して非表示になります。 CSS。ボタンは、JavaScript の onclick() メソッドを使用してトリガーできます。

<h:form>
ログイン後にコピー
document.getElementById("form:button").onclick();
ログイン後にコピー

カスタム UIComponent

高度なシナリオでは、カスタム UIComponent を作成できます。 JSF のネイティブ jsf.ajax.request() 呼び出しを生成する UICommand を拡張します。このアプローチでは、Ajax の動作を完全にカスタマイズし、制御できます。

以上がネイティブ JavaScript HTML DOM イベントから JSF マネージド Bean をトリガーするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート