#jsp #import #scope #jstl
#jsp #импорт #область #jstl
Вопрос:
Я использую JSTL для импорта формы со своей главной страницы.
<c:import url = "/import/form/registerForm.jsp" />
Главная страница получает атрибут с именем registerError от сервлета. Этот атрибут доступен на моей главной странице, но он исчезает в моем файле RegisterForm.jsp
<c:if test = "${!empty registerError}">
<div id = "error">
<p><c:out value="${registerError}" /></p>
</div>
</c:if>
Я отметил, что атрибуты могут быть переданы через import, но как метод GET. Есть ли какой-либо другой способ справиться с этой проблемой?
Ответ №1:
Просто используйте
<jsp:include page="/import/form/registerForm.jsp"/>
<c:import>
позволяет получать ресурс из любого места (включая ресурсы, внешние по отношению к веб-приложению) и, таким образом, генерирует новый запрос, отличный от исходного, для получения ресурса. <jsp:include>
использует диспетчер запросов, и, таким образом, используется тот же запрос.
Комментарии:
1. Хорошо, спасибо! Но является ли <jsp:include> хорошей практикой сегодня? Или есть другие альтернативы этому решению?