1

Tomcat 6.0.32 を使用していて、JSP ファイルを別のファイルにインクルードしようとしていますが、なぜかファイルが見つかりません (はい、ファイルは存在します)。ファイル構造とコードは次のとおりです。

<jsp:include page="${pageContext.request.contextPath}/templates/header.jsp">
</jsp:include>

WebContent
- folder/caller.jsp
- templates/header.jsp

ただし、それ以外で ${pageContext.request.contextPath} を使用して正しく出力されるかどうかを確認すると、機能しますが、なぜこれが起こっているのか知っていますか?

4

2 に答える 2

5

内でランタイム変数を使用できるかどうかもわかりませんが、サーバーから要求されている URL のコンテキストを参照し必ずしもファイルシステムのレイアウトに対応していない<jsp:include>という別の問題があります。contextPath

なぜあなたはただ使わないのです<jsp:include page="templates/header.jsp">か?

于 2011-05-04T00:59:27.317 に答える
2

上記の回答に完全に同意しますが、この方法で使用する必要がある場合は、以下のコード shd が機能します

<c:set var="myContext" value="${pageContext.request.contextPath}"/>
<jsp:include page="${myContext}/templates/header.jsp"> </jsp:include> 
于 2011-10-28T00:08:58.730 に答える