1

我想知道如何在我从一页重定向到另一页之前实现警报。

我的代码:(sciptlet)

  <% 
       if(condition)
        {
            // alert here. before redirecting other page.
            // now redirect here as fallow.
             response.sendRedirect("sem-duration_old.jsp");

           }
   %>

我试过这个它不起作用:

   <% 
       if(condition)
        {   
    %>
              <script>
              alert(" we are going to some other page" );
            </script> 
    <%               
            response.sendRedirect("semduration_old.jsp");

           }
   %>
4

3 回答 3

4

请记住客户端和服务器端之间的分离。重定向信号(HTTP 302 响应)由您的 jsp 发送,然后由浏览器接收。因此,无论您向响应缓冲区(html 标记、脚本标记和警报)写入了什么其他内容,您的浏览器都将立即请求重定向中指定的位置。因此,您的 jsp 的响应将类似于以下内容:

HTTP/1.1 302 Moved Temporarily
Server: Apache-Coyote/1.1
X-Powered-By: Servlet 2.5; JBoss-5.0/JBossWeb-2.1    
Location: http://localhost/semduration_old.jsp
Content-Type: text/html;charset=ISO-8859-1
Content-Length: 0

完成您想要的一种方法是允许客户端使用javascript“重定向”自己:

<% 
    if(condition)
    {   
%>
     <script>
          alert(" we are going to some other page" );
          window.location = 'semduration_old.jsp';
     </script> 
<%
       }
%>
于 2013-10-17T13:15:26.753 回答
2

您还可以创建另一个发送消息和重定向的 jsp 页面。

<% 
 String msg = request.getParameter("msg");//means you have to send the message as a parameter
 String location = request.getParameter("location");
%>
<script>
      alert("<%= msg %>");//alert the message
      //you can also display the message using a mark up on the page and use setTimeOut()
      window.location = "<%= location %>";//then redirect
</script>
于 2014-06-09T06:50:08.420 回答
0

可能这会对你有所帮助。

<% 
   if(condition)
    { %>
    <script type="text/javascript">
         alert('redirecting');
    </script>
        // alert here. before redirecting other page.
        // now redirect here as fallow.
    <%     response.sendRedirect("sem-duration_old.jsp?current_session");

       }
 %>

我没试过。但这可能不是最佳解决方案。你试过卸载功能吗?

于 2013-10-17T09:30:28.840 回答