繁体   English   中英

请求从一个JSP调度到另一个JSP

[英]Request dispatching from one JSP to another JSP

我目前正在从事付款网关等项目。 如果后端发生任何验证错误,首先我想在我的jsp页面(付款网关)上显示错误消息,然后在10秒之后,我要从我的jsp将对象(错误代码)分派给商家(商人的网页)页。

当前,当我尝试在jsp页面中调度和转发时,我的错误消息/视图内容未显示在jsp中。 它没有显示我的错误消息,只是等待10秒钟,然后将对象转发给商家。 因为我希望我不要通过执行dispatch来在我的jsp中提交请求/响应对象。 如果我错了纠正我。

请建议我一种处理这种情况的好方法吗?

我正在尝试在我的jsp页面中这样做。

 </head> <body> <form:form method="post" commandName="item"> <form:errors path="*" cssClass="errorblock" element="div" /> <tr> <td>Response Code :</td><td>${item.responseCode}</td> <%="test" %> </tr> <% Thread.sleep(10000); // sleep 10 seconds RequestDispatcher rd = request.getRequestDispatcher("/merchant.jsp"); //rd.include(request, response); rd.forward(request, response); %> </body> 

您无法将输出发送到jsp,然后使线程休眠,在代码执行完毕之前,网络服务器不会发送输出,因为我们看不到您的代码,所以我假设您正在尝试输出错误,使线程休眠,然后发送重定向,所有要做的就是将其写出,然后在将重定向发送到客户端时立即发送重定向。

最好的选择可能是使用javascript在将客户端重定向到的页面上发送重定向以显示错误。

编辑:由于注释格式很奇怪:servlet不会等待10秒然后发送重定向,因为所有处理都是在发送响应之前完成的,因此发送更多数据的唯一方法是使用javascript,或者其他一些奇怪的黑魔法,最简单,最优雅的解决方案是:

<script type="text/javascript">
    window.location.replace("http://yourwebsite.com/merchant.jsp"); 
</script>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM