JSFのマネージドBeanからJavaScript関数を呼び出す(実行する)方法はありますか?
それが関係しているなら、私もPrimeFacesを使用しています。
JSFのマネージドBeanからJavaScript関数を呼び出す(実行する)方法はありますか?
それが関係しているなら、私もPrimeFacesを使用しています。
使用している Primefaces のバージョンに応じて、使用できますRequestContext.execute("{js here}");
Primefaces 3.4 ドキュメントから:
RequestContext は、ajax リクエストが完了したときに JavaScript を実行する方法を提供します。このアプローチは、コールバック パラメータを渡して条件付き JavaScript を実行するよりも簡単です。以下の例では、ajax リクエストが完了するとダイアログが非表示になります。
コード
public void save() {
RequestContext requestContext = RequestContext.getCurrentInstance();
requestContext.execute("dialog.hide()");
}
Primefaces で最も近いものは次のとおりです。
http://www.primefaces.org/showcase/ui/callbackParams.jsf
3.0 にも拡張機能があると述べました。
単純にはできません。
Managed Bean
サーバー上で動作し、ブラウザー上で JavaScript が動作します。
managedbean に設定された値に応じて、条件付きで JavaScript を呼び出すことができます。
一般に、Java は、スクリプト エンジンを使用して文字列を評価するための API を提供します。これは、javax.script.ScriptEngine および javax.script.ScriptEngineManager クラスによって実現できます。
あなたの状況が完全にはわかりませんが、javascript をマネージド Bean に文字列として渡すことができれば、おそらく Java スクリプト API を使用してサーバー側で javascript を実行できます。
詳細については、次のリンクを参照してください: http://docs.oracle.com/javase/6/docs/technotes/guides/scripting/programmer_guide/index.html