AbstractDefaultAjaxBehavior中的Wicket 1.5.12重定向页面

时间:2015-08-14 03:34:25

标签: javascript java wicket

我在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

&#13;
&#13;
$('#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;
&#13;
&#13;

也许在JS中更容易获取Wicket页面,但Wicket Url可能很棘手。

我的问题是如何在&#34; AbstractDefaultAjaxBehavior&#34;中发送重定向?用户确认到另一个Wicket页面后,所有Wicket的东西都是FeedbackPanel等?

0 个答案:

没有答案