次のコードを使用して、Wicketと動的に通信できます。
AbstractDefaultAjaxBehavior callme = new AbstractDefaultAjaxBehavior(){
@Override
protected void respond(AjaxRequestTarget target) {
}
};
page.add(callme);
//From any ajaxrequesttarget you can simply append the following code:
target.appendJavascript("wicketAjaxGet('"+callme.getCallbackUrl()+");");
このようにして、ajaxrequestをWicket側に転送するajaxlinkなどを作成できます。データを渡したい場合(静的リンクはそのようには聞こえませんが)、次のようにします。
"wicketAjaxGet('"+callme.getCallbackUrl()+"&x='+value_to_pass_back''";
//to Read the value in the respond:
String x = RequestCycle.get().getRequest().getParameter("x");
したがって、コールバックへのURLは動的に生成されます(コールバックURLはセッションに固有であるため)が、他のURLと同じように形成されます。
私にとって、これは、組み込みのJSONシステムを使用する代わりに、改札の上にJSONシステムを構築するよりも10倍簡単です。私はこれを常に使用しており、少なくとも私にとってはうまく機能します。あなたの解決策が異なる/より良い場合、私はおそらくその理由を知りたいです。