Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jsp转发未按预期工作_Jsp_Forward - Fatal编程技术网

jsp转发未按预期工作

jsp转发未按预期工作,jsp,forward,Jsp,Forward,我有jsp,这取决于我转发到另一个页面的某些条件 我有/myjsp/first.jsp,它的代码是 <% if(some condtion){ somelogic } else { application.getRequestDispatcher("/myjsp/another.jsp").forward(request,response); } %> <div> <jsp:include page='he

我有jsp,这取决于我转发到另一个页面的某些条件

我有/myjsp/first.jsp,它的代码是

<%
if(some condtion){
   somelogic                
}
else
{
       application.getRequestDispatcher("/myjsp/another.jsp").forward(request,response);
}
%>
<div>
    <jsp:include page='header.jsp' />
</div>       

在这段代码中,如果流转到else,则条件控件将转到另一个.jsp

但它也显示在/myjsp/first.jsp的div标记下面


我想在另一个.jsp到达那里后保持对它的控制,它不应该显示当前页面中的任何内容,即/myjsp/first.jsp中的div标记

div
放入
if

或者更好的是,不要使用scriptlet,也不要从JSP转发。JSP应该用作视图组件,并且只生成标记。工作流应该从servlet内部完成,或者从首选MVC框架的操作中完成。

使用

    response.sendRedirect();
反而

     forward();
我想它会解决你的问题。

使用:

<jsp:forward page="pageName.jsp"></jsp:forward>

而不是 application.getRequestDispatcher(“/myjsp/other.jsp”).forward(请求、响应)


sendRedirect(“pagenName.jsp”)

我同意,您不应该在jsp中使用“forward”(或sendRedirect),因为使用Scriptlet,响应缓冲区中有HTML代码,可以通过增加缓冲区大小来修复(或隐藏)问题;我要做的是改用JavaBeans。

不,不会。转发和重定向是两个完全不同的东西。欢迎使用StackOverFlow。你应该学会如何去做。我想让你们知道,你们正在回答一个两年前提出的问题。我建议你先看看。