ホームページ > ウェブフロントエンド > jsチュートリアル > JavaScript を使用して HTML DOM イベントで JSF マネージド Bean を呼び出す方法

JavaScript を使用して HTML DOM イベントで JSF マネージド Bean を呼び出す方法

Linda Hamilton
リリース: 2024-12-06 02:53:11
オリジナル
1020 人が閲覧しました

How to Invoke JSF Managed Beans on HTML DOM Events Using JavaScript?

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

Web 開発では、クライアントで発生する特定のイベントに基づいてサーバー側のアクションを実行する必要があります。 -側。これは、JavaServer Faces (JSF) でさまざまなアプローチを採用することで実現できます。そのようなアプローチの 1 つは、HTML DOM ロード イベント中に Ajax を使用して JSF マネージド Bean アクション メソッドを呼び出すことです。

JSF 2.3 の

JSF 2.3 以降では、 コンポーネントは直接的な解決策を提供します:

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

このスクリプトはプレーン JavaScript を使用して呼び出すことができます:

commandName();
ログイン後にコピー
ログイン後にコピー

autorun="true" を設定すると、DOM のロード中にトリガーされます。

PrimeFaces

場合PrimeFaces を利用する場合は、:

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

呼び出しは に似ています:

commandName();
ログイン後にコピー
ログイン後にコピー

PrimeFaces は AJAX 呼び出しに jQuery を使用します。 JSF ネイティブではありませんjsf.ajax.request().

OmniFaces

2.3 より古い JSF バージョンの場合、OmniFaces は、次と同じ目的を果たす を提供します。 :

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

h:commandScript を o:commandScript に置き換えるだけです。

「隠しフォーム」トリック

別のアプローチには、隠しフォームを利用することが含まれます。でフォームします:

<h:form>
ログイン後にコピー

呼び出し:

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

カスタム UIComponent

最後の手段として、UICommand を拡張するカスタム UIComponent を開発して、活用するjsf.ajax.request().

要約すると、これらのアプローチにより、開発者はネイティブ JavaScript を使用して HTML DOM イベントで JSF マネージド Bean を呼び出すことができます。方法の選択は、JSF バージョン、ライブラリの使用法、プロジェクトの制約などの要因によって異なります。

以上がJavaScript を使用して HTML DOM イベントで JSF マネージド Bean を呼び出す方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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