jsp转发未按预期工作
我有jsp,这取决于我转发到另一个页面的某些条件 我有/myjsp/first.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
<%
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。你应该学会如何去做。我想让你们知道,你们正在回答一个两年前提出的问题。我建议你先看看。