JSP包含页面失败request.getContextPath()
问题描述:
我想包括一个jsp页面在另一个,因为我不想硬编码路径我想要使用request.getContextPath()方法。 但我不能得到它的工作。我已经试过各种事情,基于不同的答案在这里:JSP包含页面失败request.getContextPath()
我所做的第一件事就是
<jsp:include page="<%=request.getContextPath()%>/structure/Navbar.jsp" />
给我:
HTTP Status 500 - /structure/ArtiMarziali/Aikido.jsp (line: 11, column: 24) attribute value for [page] is not properly terminated
所以,我想:
<% String aikido = request.getContextPath() + "/structure/Navbar.jsp"; %>
<jsp:include page="<%= aikido %>" />
抛出异常:
HTTP Status 500 - javax.servlet.ServletException: File [/ProgettoPW/structure/Navbar.jsp] not found
然后:
<jsp:include page="<%= request.getContextPath() + "/structure/Navbar.jsp" %>" />
说我需要转义引号,我不能真正做到
和
<jsp:include page='<%= request.getContextPath() + "/structure/Navbar.jsp" %>' />
给出了同样的错误作为第一个。我尝试将getContextPath的结果设置为变量并在标记中使用该变量,但是与以前相同的错误。
我真的不知道我有什么问题,我需要一些帮助,谢谢。
(是的,我知道,使用<%=%>和其他小脚本是在时下皱起了眉头,但我的课程讲授这种方式,我想坚持下去的项目)
编辑:这是文件结构,可能是有用的:
答
的路径已经相对到上下文路径这样,你有没有需要添加在你include
直接ive(希望),这意味着这将工作:
<jsp:include page="/structure/Navbar.jsp" />
你试过简单的' '? –
是的,它的工作原理,但我真的不明白为什么它如果我这样做,但不与getContextPath()。链接的CSS文件和图像适用于它,但不包括jsp包括。 (正如我所说,我不想使用硬编码的路径,以防我动起来) – Paul
它的工作原理是因为路径已经相对于上下文路径,所以希望我们不需要添加它 –