首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >请求从一个JSP发送到另一个JSP

问请求从一个JSP发送到另一个JSP
EN

Stack Overflow用户
提问于 2014-10-08 13:52:10
回答 1查看 1.2K关注 0票数 0

我目前正在一个支付网关的项目中工作。如果后端出现任何验证错误,首先我希望在jsp页面(支付网关)上显示错误消息,10秒后,我想从jsp页面向商人(商人的网页)发送对象(错误代码)。

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

请给我一个处理这种情况的好方法。

我想在我的jsp页面上这样做..。

​

代码语言:javascript
复制
</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>

​

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-10-08 22:34:00

您不能将输出发送到jsp,然后休眠线程或其他东西,we服务器在代码执行完成之前不会发送输出,因为我们看不到您的代码,我将假设您试图输出错误,休眠线程,然后发送重定向,所做的一切就是将它写出来,然后在发送到客户端时立即发送一个重定向。

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

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

代码语言:javascript
复制
<script type="text/javascript">
    window.location.replace("http://yourwebsite.com/merchant.jsp"); 
</script>
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26258634

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档