Пользовательский тег JSP и хорошая форма
Я сталкиваюсь с проблемой, которую я считаю демонстрацией либо нелепого ограничения JSP, либо моего нелепого невежества. Кто-нибудь может пролить свет? Это было бы очень ценно.
В моем приложении у меня есть несколько JSP, которые имеют общий макет. Поэтому я реализовал простой механизм шаблонов, в котором каждая страница JSP контента будет импортировать это общее содержимое из файла, скажем, header.jsp
, с помощью @include
директивы.
Проблема в том, если я открою тег (например, html:html
) в одном файле и закройте его в другом файле, включающем первый, он не будет отображаться, жалуясь на то, что закрытый тег отсутствовал в header.jsp
Хотя полученная разметка абсолютно корректна. Мой код выглядит примерно так (неважные материалы удалены):
header.jsp
<html:html>
<html:head>
content1.jsp
<%@ include file="header.jsp"%>
<title>Content 1</title>
</html:head>
<body>Text 1</body>
</html:html>