Я пытаюсь включить страницу 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 на переменную и использовать ее в теге, но те же ошибки, что и раньше.
Я действительно не знаю, в чем проблема, мне нужна помощь, спасибо.
(Да, я знаю, что с помощью <% =%> и другие скриптлеты неодобрением в настоящее время, но мой курс преподавался этот путь, и я хочу присоединиться к нему для проекта)
Edit: Это Файловая структура, может быть полезна:
Пытались ли вы просто ' '? –
Да, и это работает, но я действительно не понимаю, почему это работает, если я делаю это так, но не с getContextPath(). Связывание css-файлов и изображений отлично работает с ним, но не jsp include. (И, как я уже сказал, я не хочу использовать жесткие пути в случае, если я перемещаю вещи) – Paul
работает, потому что путь уже относительно контекстного пути, поэтому, надеюсь, нам не нужно его добавлять –