0

こんにちは、jsp/サーブレットの初心者です。相対パスまたは絶対パスについて基本的な質問があります。ネットビーンズを使用して、次の階層があります。

Web Pages
|  |-Status
|     |-clientRequests.jsp
|  |-index.jsp
|  |-WEB-INF
|     |-professional.jsp

index.jspWEB-INFおよびルート パスの Status フォルダーと フォルダー。Statusフォルダー内にclientRequests.jspファイルがあります。WEB-INF フォルダー内にprofessional.jspファイルがあります。

index.jsp でディスパッチャを実行しましたprofessional.jsp。プロの jsp<iframe src="Status/clientsRequests.jsp"></iframe> の内部ではclientsRequests.jsp

<%
        response.setHeader("Refresh", "5;url=../index.jsp");  
%>

つまり、5 秒ごとにclientsRequests.jspファイルが更新されてから、「コントローラー」に移動しますindex.jsp。5分ごとにiframeのみが更新され、ホールページは更新されません。私の問題: 2 回目の更新で 404 が表示されます。

私はそれで遊んでみましたが、次のような醜いことをしました:

String a = (String)session.getAttribute("nav");
if(a == null){
    session.setAttribute("nav", "aaa");  
    response.setHeader("Refresh", "5;url=../index.jsp");  
}else{
    response.setHeader("Refresh", "5;url=index.jsp"); 
}

そしてそれは機能していますが、私はこのように残したくありません... 何か提案はありますか? ありがとう!

4

2 に答える 2

1

1つの代替手段はmove the clientRequests.jsp to the same level as index.jsp. そうすれば、コードでいつでもこれを行うことができます

response.setHeader("Refresh", "5;url=index.jsp"); 

このセットアップの利点の 1 つは<iframe src="Status/clientsRequests.jsp"></iframe>、アプリケーション内の任意の JSP ページに追加でき、サーブレット コードに変更や影響がないことです。

于 2013-02-20T02:09:12.717 に答える
1

どういうわけか、あなたの応答は iframe の親にもヘッダーを設定しています。以下の行を clientRequests.jsp に挿入します。

<meta http-equiv="refresh" content="5">
于 2013-02-19T13:21:27.743 に答える