Java AjaxRequestTarget没有';Button.onSubmit()中不存在
当我尝试进入方法Button.onSubmit()时,RequestCycle提供的AjaxRequestTarget显然是空的 我想用Ajax打开一个弹出窗口,但它会抛出任何NullPointerException。有没有办法在Wicket中的onsubmit()函数中使用AjaxRequestTarget显示弹出窗口Java AjaxRequestTarget没有';Button.onSubmit()中不存在,java,javascript,jquery,wicket,Java,Javascript,Jquery,Wicket,当我尝试进入方法Button.onSubmit()时,RequestCycle提供的AjaxRequestTarget显然是空的 我想用Ajax打开一个弹出窗口,但它会抛出任何NullPointerException。有没有办法在Wicket中的onsubmit()函数中使用AjaxRequestTarget显示弹出窗口 protected void onSubmit() { if (trainingmode()){ AjaxRequestTarget ta
protected void onSubmit() {
if (trainingmode()){
AjaxRequestTarget target = RequestCycle.get().find(AjaxRequestTarget.class);
MessageDialog dialog = new MessageDialog("dialog", "Notice", "Decision Matches " ,
DialogButtons.OK_CANCEL, DialogIcon.WARN) {
public void onClose( AjaxRequestTarget target, DialogButton button) {
}
};
System.out.println("2Chainz");
dialog.open(target);
}
}
我在dialog.open(target)中得到一个错误,它说:
原因:java.lang.NullPointerException
位于com.googlecode.wicket.jquery.ui.widget.dialog.MessageDialog.onOpen(MessageDialog.java:170)
在com.googlecode.wicket.jquery.ui.widget.dialog.AbstractDialog.open(A
我正在尝试弹出AjaxRequestTarget模式窗口,但是我无法从onsubmit()中访问AjaxRequestTarget。由于使用了错误的组件,因此引发了NullPointerException 使用or代替并实现onSubmit方法(AjaxRequestTarget)代替onSubmit方法() 说明:
仅在调用AJAX请求时可用。是仅在AJAX请求的情况下包含AjaxRequestTarget对象的线程本地单例,否则您正在使用的方法将重新返回null,因为它找不到任何AjaxRequestTarget对象。要获取
AjaxRequestTarget
,您需要AjaxButton
或AjaxLink
,AjaxSubmitLink
等
这些组件具有类似于onClick(AjaxRequestTarget目标)
或onSubmit(AjaxRequestTarget目标)
的方法,您可以使用这些方法
如果您处理的是输入字段,您可以添加
ajaxformcompanytupadingbehaviour
,这将为您提供AjaxRequestTarget
您的问题有点糟糕,请提供更多详细信息。您的意思是打开诊断日志(例如表单上的“确认保存”)或者你是指Wicket模式窗口,它需要AjaxRequestTarget,而该AjaxRequestTarget在表单或SubmitLink的onSubmti()函数中不可用?@MartinStrejc我是指尽管AjaxRequestTarget不可用,但后者仍在使用模式窗口。请告诉我你正在扩展的类,这并不明显,因为onSubmit()是是在类按钮和窗体上,解决方案是不同的。