我在Jquery中有一个模态窗口,与公司内的其他应用程序相同。
用户单击OK后,所需参数的Ajax请求按预期工作。但是在AbstractDefaultAjaxBehavior中,我无法成功返回重定向来加载另一个Wicket页面。
mount(new UnversionedPageMapper("/monitoring", Monitoring.class));
在AjaxButton onSubmit中,这个工作正常但后来我的Jquery模态窗口被传递。
new AjaxButton("verwijderenButton", form) { @Override protected void onSubmit(AjaxRequestTarget target, Form<?> form) { //setResponsePage(Monitoring.class); } } };
问题是在AbstractDefaultAjaxBehavior中捕获了传入的Ajax调用setResponsePage(Monitoring.class);不管用。 生成的URL是: https://localhost:9443/monitoring(缺少基本名称)
private final class PanelResponseBejavior extends AbstractDefaultAjaxBehavior {
@Override
protected void respond(AjaxRequestTarget target) {
System.out.println("ajax request received Parameters rapportNr "+hsr.getParameter("rapportNr"));
getSession().info("File '" + rapportDefinitie.getFileName()+ "' is removed
//requestCycle.setResponse(Monitoring.class);
//verwijderenButton.setEnabled(true);
//setResponsePage(Monitoring.class);
//HttpServletResponse resp = (HttpServletResponse) requestCycle.getResponse().getContainerResponse();
//requestCycle.scheduleRequestHandlerAfterCurrent(new RedirectRequestHandler("/lpv/monitoring"));
//requestCycle.getResponse().close();
//target.addComponent(getPage());
throw new RestartResponseAtInterceptPageException(Monitoring.class);
}
使用HttpServletResponse和requestCycle.scheduleRequestHandlerAfterCurrent我得到没有错误页面被服务器找到并返回,因为这给出了所需的URL但浏览器没有加载页面。 https://localhost:9443/APP/LPV/monitoring
这是我的Javascript
$('#dialogVerwijderen').dialog({
autoOpen: false,
modal: true,
buttons: {
OK: function() {
$.ajax({
url:callbackUrl,
type: "POST",
cache: false,
data: "action=remove&rapportNr="+rapportNr,
success: function () {
alert(" button");
}
})
},
Cancel: function() {
$( this ).dialog( 'close' );
}
},
resizable: false,
closeOnEscape: true,
open: function() {
$(this).siblings('.ui-dialog-buttonpane').find("button:contains('Cancel')").focus();
}
});
});
&#13;
也许在JS中更容易获取Wicket页面,但Wicket Url可能很棘手。
我的问题是如何在&#34; AbstractDefaultAjaxBehavior&#34;中发送重定向?用户确认到另一个Wicket页面后,所有Wicket的东西都是FeedbackPanel等?