Java 动态包含HTML页面会导致页面未找到错误
我试图在运行时在jsp页面中包含一个HTML页面。运行时将决定包含哪个HTML页面。当我使用以下代码包含HTML页面时:Java 动态包含HTML页面会导致页面未找到错误,java,spring,jsp,web,Java,Spring,Jsp,Web,我试图在运行时在jsp页面中包含一个HTML页面。运行时将决定包含哪个HTML页面。当我使用以下代码包含HTML页面时: <jsp:include page="${HTMLFILEPATH}"></jsp:include> 上述表达式的计算结果正确,但不包括HTML文件。浏览器在该路径上找不到文件。尽管此路径上存在文件。以下是目录结构: WEB-INF -JSP -报告 -htmlReport.html -myJsp.jsp 这是我得到的错误错误403:SRVE01
<jsp:include page="${HTMLFILEPATH}"></jsp:include>
上述表达式的计算结果正确,但不包括HTML文件。浏览器在该路径上找不到文件。尽管此路径上存在文件。以下是目录结构:
WEB-INF
-JSP
-报告
-htmlReport.html
-myJsp.jsp
这是我得到的错误错误403:SRVE0190E:找不到文件:/WEB-INF/jsp/reports/htmlReport.html
但是,如果我使用以下方法,则效果很好:
<c:when test="${path=='reports/htmlReport.html'}">
<%@ include file="reports/htmlReport.html" %>
</c:when>
我正在使用RAD 8.0.2、WAS7.0、Spring MVC 3.0+可能有两种可能性:
HTMLFILEPATH
变量有问题:只需在jsp:include
上方打印变量的值,看看它是否包含正确的值jsp:include
标记之前已呈现,并且未解析$HTMLFILEPATH
变量。相反,可以尝试使用Java脚本
RequestDispatcher
(我100%确信它会工作;-)
什么是
HTMLFILEPATH
?如何设置?看起来问题在于它,或者在对它的评估中…@SayemAhmed:HTMLFILEPATH实际上是同一个“path”变量,它来自controller.Thannks对于您的响应,我添加了,但给出了与File not found:/WEB-INF/jsp/reports/reportName.html相同的错误,尽管报告位于那里,并且该路径是正确的。
RequestDispatcher reqDisp = request.getRequestDispatcher(htmlFilePath);
reqDisp.include(request, response);