2

IBM (リンク)のガイドに従って、XPage で独自の Java カスタム コントロールを開発しようとしています。

すべて正常に動作しますが、jQuery ライブラリを使用するクライアント側の JavaScript を実行したいと考えています。XPage に jQuery.js を含めることは大したことではありませんが、自社のすべての開発者が使用できるように、コントロールをライブラリにパックしたいと考えています。

したがって、私の質問は、JavaScript をコントロールに統合して、それを使用する人がノーツ アプリケーションで JavaScript を手動で実装する必要がないようにする方法です。

確かに、私はそれをレンダリングに入れることができました:

writer.startElement("script", null);
writer.writeAttribute("type", "text/javascript", null);
writer.writeText(JQuery-js-content, null);
writer.endElement("script");

ただし、ユーザーがコントロールを含む XPage を開くと、サーバーは常にそれをレンダリングする必要があります。

Web またはサーバーから jQuery をロードすることはできません (ファイアウォール)。

私が探しているのは、開発者がパネルからコンポーネントをドラッグすると、jQuery が Notes アプリケーションに追加されるたびに解決策になります。

アップデート:

ヒントのおかげで、「私にとって最高の」ソリューションが見つかりました。ExtLibResources拡張ライブラリのクラスを使用しcom.ibm.xsp.extlib.resources.ExtLibResourcesて、スクリプトライブラリを含めました。この方法を使用すると、同じ XPage で複数のコントロールを使用するときに、それらが何度も含まれることはありません。

拡張ライブラリを使用したくないが、このメソッドを使用してカスタム コントロールに CSJS を含めたい場合は、独自のリソース クラスを構築するだけです。

jQueryを含めるコードは次のようになります。

ScriptResource jquerymin = new ScriptResource();
jquerymin.setType("text/javascript");
jquerymin.setSrc(JQUERY_PATH);
jquerymin.setClientSide(true);
ExtLibResources.addEncodeResource(context, jquerymin);
4

2 に答える 2

2

OpenNTF でこのプロジェクトをチェックしてください。jQuery Ext. としょうかん。これがあなたがする必要があることだと思います。

http://www.openntf.org/internal/home.nsf/project.xsp?action=openDocument&name=jQuery%20Extension%20Library

于 2013-03-27T18:15:19.427 に答える
0

自分でライブラリを追加する代わりに、CDN を使用して jquery ライブラリを追加することはできないでしょうか?

于 2013-03-28T08:38:40.180 に答える