6

我用谷歌搜索了几个小时关于如何在 jsp 或 servlet 中进行重定向。但是,当我尝试应用它时,它不起作用。

我在jsp页面内的代码:

<%
    String articleId = request.getParameter("article_id").toString();
    if(!articleId.matches("^[0-9]+$"))
    {
       response.sendRedirect("index.jsp");
    }
%>

我从调试中知道 regexp 有效,如果任何时候,articleId 不是数字,则if进入内部,但是当它到达 response.sendRedirect 时,它实际上并没有进行重定向。

在这种情况下,我是否错过了一些非常基本的东西?

提前致谢。

4

2 回答 2

22

您应该return在重定向后:

response.sendRedirect("index.jsp");
return;
于 2009-06-07T04:10:31.120 回答
1

这个脚本之前有内容吗?如果是这样,重定向将不起作用。

此外,通常的做法是将此类逻辑放在 servlet 或其他用作控制器的类中,让 JSP 只处理 HTML 的呈现。它也可以解决您的问题。例如,请参见此处

于 2009-06-07T03:54:31.840 回答