2016-09-24 2 views
1

Я пытаюсь включить страницу 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: Это Файловая структура, может быть полезна:

enter image description here

+0

Пытались ли вы просто ''? –

+0

Да, и это работает, но я действительно не понимаю, почему это работает, если я делаю это так, но не с getContextPath(). Связывание css-файлов и изображений отлично работает с ним, но не jsp include. (И, как я уже сказал, я не хочу использовать жесткие пути в случае, если я перемещаю вещи) – Paul

+0

работает, потому что путь уже относительно контекстного пути, поэтому, надеюсь, нам не нужно его добавлять –

ответ

2

путь уже по отношению к пути контекста таким образом, что у вас нет необходимости добавлять его в вашем include прямой ив (я надеюсь), что означает, что это будет работать:

<jsp:include page="/structure/Navbar.jsp" /> 
Смежные вопросы