Вы можете позволить JSTL / EL генерировать HTML / CSS условно на основании URL-адреса запрашиваемой страницы JSP.Вы можете получить его по ${pageContext.request.servletPath}
в EL.Предполагая, что у вас есть ссылки в некоторых Map<String, String>
в области приложения:
<ul id="menu">
<c:forEach items="${menu}" var="item">
<li>
<c:choose>
<c:when test="${pageContext.request.servletPath == item.value}">
<b>${item.key}</b>
</c:when>
<c:otherwise>
<a href="${item.value}">${item.key}</a>
</c:otherwise>
</c:choose>
</li>
</c:forEach>
</ul>
Или когда вы только после класса CSS
<ul id="menu">
<c:forEach items="${menu}" var="item">
<li><a href="${item.value}" class="${pageContext.request.servletPath == item.value ? 'active' : 'none'}">${item.key}</a></li>
</c:forEach>
</ul>
Вы можете использовать <jsp:include>
повторно использовать контент на страницах JSP.Поместите вышеперечисленное в отдельный файл menu.jsp
и включите его следующим образом:
<jsp:include page="/WEB-INF/menu.jsp" />
Страница помещена в папку WEB-INF
для предотвращения прямого доступа.