首先,我想提一下,当涉及到js和wicket时,我是初学者。
我正在尝试检索在我的页面上的javascript中定义的变量。我想在我的页面上触发事件时检索此变量。
我使用此代码检索变量但它不起作用(这是我的wicket面板java类):
...
add(new AjaxEventBehavior("onclick") {
private static final long serialVersionUID = 1L;
protected void onEvent(AjaxRequestTarget target) {
if(target != null) {
String value = RequestCycle.get().getRequest().getParameter("i");
}
}
});
有人能指出我正确的方向吗?
提前谢谢。
答案 0 :(得分:3)
阅读此https://cwiki.apache.org/WICKET/calling-wicket-from-javascript.html。您需要将行为的getCallbackUrl()
传递给js并使用Wicket.Ajax.get({ u: '${callbackUrl}' + '${args}' })
进行调用。
答案 1 :(得分:1)
您需要将变量的内容“发布”到您的行为中,以便能够在您的请求参数中获取它。你可以使用AjaxCallDecorator
(wicket< 6)或AjaxCallListener
(wicket> = 6)轻松完成。
我建议您了解您的应用程序正在发生什么,Javascript变量不能由Java方面轻松检索。