无法使用response.sendRedirect重定向

时间:2009-06-07 03:12:08

标签: java regex jsp servlets jstl

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

我在jsp页面中的代码:

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

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

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

提前致谢。

2 个答案:

答案 0 :(得分:22)

重定向后您应该return

response.sendRedirect("index.jsp");
return;

答案 1 :(得分:1)

这个scriptlet之前有内容吗?如果是这样,重定向将无效。

此外,通常的做法是在servlet或其他类中使用此类逻辑作为控制器,并使JSP仅处理HTML的呈现。它也可以解决您的问题。例如,请参阅here

相关问题