Spring MVC: Включение JSP внутри представления (JSP установлен рядом с представлением, поэтому он недоступен извне контроллера)? - PullRequest
4 голосов
/ 27 февраля 2012

Я создал представление и оно работает хорошо, но теперь мне нужно включить еще одну JSP на страницу.

Учитывая, что мои представления установлены в защищенной области WEB-INF / Views (следовательно, они не доступны в моей директории ресурсов, где находятся мои imgs, css)

Я пытался использовать

   <%@ include file="/views/shared/items/NewItem.jsp" %>

И он всегда дает мне FileNotFound, учитывая, что мой NewItem.jsp установлен с другими моими представлениями (т.е. НЕ доступен через обычные маршруты, но контролируется контроллерами), как я могу включить файлы JSP, которые установлены рядом с моим вид

Если я достану «включаемый файл», мое представление будет отображаться без проблем.

Я уверен, что я что-то здесь упускаю?

Заранее спасибо

Ответы [ 2 ]

14 голосов
/ 27 февраля 2012

Если NewItem.jsp в /WEB-INF/views/shared/items/NewItem.jsp, то вы должны использовать этот путь при его наведении:

<%@ include file="/WEB-INF/views/shared/items/NewItem.jsp" %>
4 голосов
/ 11 марта 2015

Лучше для пользователя

<jsp:include />

вместо

<%@ include />

и отправьте запрос контроллеру, и контроллер обработает представление

Отправка запроса контроллеру

    <jsp:include page="${request.contextPath}/newItem"></jsp:include>

Контроллер

@RequestMapping(method = RequestMethod.GET, value = "newItem")
public String newItem(Model model) {
    return "shared/items/NewItem";
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...