【发布时间】:2015-04-22 23:14:00
【问题描述】:
我试图让检票口在单击保存按钮后显示一个信息对话框,该按钮调用无权访问 AjaxRequestTarget 目标的 onsubmit。这是代码sn-p
if (trainingmode() && !recordDecision.equalsIgnoreCase("Primary")) {
if (trainingEvalService.compareDecisions(recordDecision, recordSet.getRecordSetId())) {
System.out.println("Validity matchesMaserati: " + trainingEvalService.getTrainingEval().getActual_validity_decision_comment());
// Dialog associated with save button
dialog = new MessageDialog("dialog", "Notice", "Decision Matches " + trainingEvalService.getTrainingEval().getActual_validity_decision_comment() , DialogButtons.OK_CANCEL, DialogIcon.WARN) {
public void onClose(AjaxRequestTarget target, DialogButton button) {
}
};
dialog.open(target) // breaks here without reference to AjaxTarget
} else {
}
}
如何获得对当前 AjaxRequestTarget 的引用?
【问题讨论】:
-
那有什么问题?
-
我假设您正在寻找 RequestCycle.get().find(AjaxRequestTarget.class)
-
@svenmeir 是的,你很接近我尝试在下面执行此操作,但出现错误原因:java.lang.NullPointerException dialog = new MessageDialog("dialog", "Notice", "Decision Matches" + trainingEvalService.getTrainingEval().getActual_validity_decision_comment() , DialogButtons.OK_CANCEL, DialogIcon.WARN) { public void onClose(AjaxRequestTarget target, DialogButton button) { } }; dialog.open(RequestCycle.get().find(AjaxRequestTarget.class));
标签: java javascript jquery wicket