Web 開発では、クライアントで発生する特定のイベントに基づいてサーバー側のアクションを実行する必要があります。 -側。これは、JavaServer Faces (JSF) でさまざまなアプローチを採用することで実現できます。そのようなアプローチの 1 つは、HTML DOM ロード イベント中に Ajax を使用して JSF マネージド Bean アクション メソッドを呼び出すことです。
JSF 2.3 以降では、
<h:form> <h:commandScript name="commandName" action="#{bean.action}" render=":results" /> </h:form> <h:panelGroup>
このスクリプトはプレーン JavaScript を使用して呼び出すことができます:
commandName();
autorun="true" を設定すると、DOM のロード中にトリガーされます。
場合PrimeFaces を利用する場合は、
<h:form> <p:remoteCommand name="commandName" action="#{bean.action}" update=":results" /> </h:form> <h:panelGroup>
呼び出しは
commandName();
PrimeFaces は AJAX 呼び出しに jQuery を使用します。 JSF ネイティブではありませんjsf.ajax.request().
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();
最後の手段として、UICommand を拡張するカスタム UIComponent を開発して、活用するjsf.ajax.request().
要約すると、これらのアプローチにより、開発者はネイティブ JavaScript を使用して HTML DOM イベントで JSF マネージド Bean を呼び出すことができます。方法の選択は、JSF バージョン、ライブラリの使用法、プロジェクトの制約などの要因によって異なります。
以上がJavaScript を使用して HTML DOM イベントで JSF マネージド Bean を呼び出す方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。