Apart from simple attribute, JSP also provides fragment tag feature. This can be used to create HTML page template.
Below is an example /WEB-INF/tags/page-template.tag file with two fragment attributes declared: header and content.
<%@ attribute name="header" fragment="true" %> <%@ attribute name="content" fragment="true" %>
Now you DRY yourself by reusing this template on your JSP pages. Below is a sample home.jsp:
<%@ taglib tagdir="/WEB-INF/tags" prefix="mycoolsite" %>Hello World
Read more about JSP custom tag on the Official Java EE Tutorial.
Excelent!