Вы можете легко использовать следующий код для динамического общения с 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()+");");
Таким образом, у вас может быть ссылка ajaxlink и т. Д., Которая будет передавать запрос ajaxrequ на сторону калитки. Если вы хотите передать данные (хотя статическая ссылка не звучит так), сделайте следующее:
"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-адрес ....
Для меня это в 10 раз проще, чем строить систему JSON поверх калитки вместо того, чтобы использовать встроенную в нее .... Я использую это все время, и она прекрасно работает для меня, по крайней мере. Если ваше решение отличается / лучше, я хотел бы знать, почему, возможно.