Это невозможно с JSP. Рассмотрите возможность перехода с JSP на Facelets . Это технология представления на основе XHTML. Тогда вы сможете достичь желаемой функциональности с <ui:insert>
и <ui:define>
.
/WEB-INF/web.xml
<servlet>
<servlet-name>facesServlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>facesServlet</servlet-name>
<url-pattern>*.xhtml</url-pattern>
</servlet-mapping>
/WEB-INF/template.xhtml
<!DOCTYPE html>
<html lang="en" xmlns:ui="http://xmlns.jcp.org/jsf/facelets">
<head>
<title><ui:insert name="title" /></title>
</head>
<body>
<ui:insert name="content" />
</body>
</html>
/page.xhtml
<ui:composition template="/WEB-INF/template.xhtml" xmlns:ui="http://xmlns.jcp.org/jsf/facelets">
<ui:define name="title">Page title</ui:define>
<ui:define name="content">
<div id="content"></div>
</ui:define>
</ui:composition>
Вызов /page.xhtml
в веб-браузере закончится как
<!DOCTYPE html>
<html lang="en">
<head>
<title>Page title</title>
</head>
<body>
<div id="content"></div>
</body>
</html>
Еще одним преимуществом Facelets является встроенная поддержка JSF , компонентной инфраструктуры MVC.