Что вам нужно, так это шаблонизатор с поддержкой наследования шаблонов и определением произвольных заполнителей.
Я не знаю многих, которые делают (в мире Java есть склонность к компоновке шаблонов, и это то, что делает обычный jsp: include, tile и т. Д.).
StringTemplate поддерживает наследование, и есть плагин для Spring, который добавляет поддержку ST, но я не знаю, поддерживает ли плагин наследование шаблонов и ST наследство AFAIK не Позволяет определять заполнители.
Другой вариант - Jangod
Похоже, он делает то, что вы ищете.
Например (взято с их сайта):
Базовый шаблон
<html>
<head>
<title>{% block title %}Jangod ????{% endblock %}</title>
<link rel="stylesheet" href="style.css" />
</head>
<body>
<div id="content">
{% block content %}{% endblock %}
</div>
<div id="footer">
{% block footer %}
© Copyright 2010
{% endblock %}
</div>
</body>
</html>
Шаблон, расширяющий базовый шаблон:
{% extends "base.html" %}
{% block title %}Hello {{user.name}}{% endblock %}
{% block content %}
<h1>Recencies</h1>
<ul>
{% for post in posts %}
<li>{{post.title}}</li>
{% endfor %}
</ul>
{% endblock %}
Имеет поддержку Spring MVC .