4

別のページに転送している条件に応じてjspがあります。

/myjsp/first.jsp があり、コードは次のとおりです。

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

このコードでは、if フローが else 条件に来ると、コントロールは another.jsp に行きます。

しかし、/myjsp/first.jsp の div タグの下にも表示されます。

another.jsp がそこに移動したら、制御を維持したいのですが、現在のページからは何も表示されません。つまり、/myjsp/first.jsp の div タグは表示されません。

4

4 に答える 4

1

divの中に入れifます。

または、さらに良いことに、スクリプトレットを使用せず、JSP から転送しないでください。JSP はビュー コンポーネントとして使用し、マークアップのみを生成する必要があります。ワークフローは、好みの MVC フレームワークのサーブレットまたはアクション内から実行する必要があります。

于 2012-11-20T22:09:16.220 に答える
1

使用する:

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

application.getRequestDispatcher("/myjsp/another.jsp").forward(request,response); の代わりに

また

response.sendRedirect("pagenName.jsp");

于 2013-04-09T04:50:43.860 に答える
0

使用する

    response.sendRedirect();

代わりは

     forward();

私はそれがあなたの問題を解決すると思います。

于 2012-11-21T07:15:21.937 に答える
0

スクリプトレットでは応答バッファーに HTML コードがあるため、jsp で「forward」(または sendRedirect) を使用しないでください。 ="true" バッファ="2000kb"%>; 私がしているのは、代わりに JavaBeans を使用することです。

于 2014-08-28T23:13:31.927 に答える