您可以轻松地使用以下代码与 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 等...将 ajaxrequest 传输到 Wicket 端。如果您想传递数据(尽管静态链接听起来不像),请执行以下操作:
"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 一样......
对我来说,这比在 wicket 上构建 JSON 系统而不是使用内置的 JSON 系统要简单 10 倍……我一直都在使用它,至少它对我很有用。如果您的解决方案不同/更好,我想知道为什么。