1

Wicket 6 で作業しています。私のページには、html にサードパーティ ライブラリへの JavaScript 参照が含まれています。カスタム コンポーネントの Behavior クラスの renderHead に JavaScriptHeaderItem を介して含める追加の標準ユーティリティのブロックがあります。

ここで、同じコンポーネントで特定の JavaScript コードをインラインで記述して、これら 2 つのインクルードからメソッドを呼び出す必要があります。問題は、それらのインクルード内の単純な変数でさえロードされる前にコードが実行されていることです。Wicket は、サードパーティのライブラリの上に両方をヘッダーに配置します。

コードを実行する前に両方が少なくともロードされていることを確認するために、本文内のタグでコードをレンダリングしたいと考えています。サードパーティのライブラリには DomReady イベントがありますが、少なくともベース変数を定義する必要があります。

FilteringHeaderResponse または HeaderResponseContainer を何らかの形で使用するつもりだと思いますが、例/javadocs は私にはあまり明確ではありません。私のインラインJavaScriptが次のようになっているとしましょう:

String js = "alert('Hello '" + ユーザー名 + ");";

ジャバから。そうではなく、それよりも複雑ですが、そうであれば、FormComponentPanel からこのインライン JavaScript をレンダリングするにはどうすればよいでしょうか? また、カスタム js を動的に含めるにはどうすればよいですか? ただし、インライン スクリプトが実行される前に、ヘッダーのサード パーティの js の下にレンダリングされるようにします。

4

2 に答える 2

1

私は最終的に使用しました:

response.render(OnDomReadyHeaderItem.forScript(writeGridJS()));

于 2014-01-29T15:06:38.510 に答える