У меня есть заголовок.jsp, который я хочу включить в несколько страниц. На странице заголовка есть три ссылки. Я использую css, чтобы указать пользователю, на какой странице они находятся в любой точке. Вот код для header.html:jsp select statement
<ul>
<%-- Check for the activeState parameter to decide which css to use --%>
<c:choose>
<c:when test='${requestScope.activeState == "home"}'>
<li><a href="index.jsp" class="active"><span>Home</span></a></li>
</c:when>
<c:otherwise>
<li><a href="index.jsp"><span>Home</span></a></li>
</c:otherwise>
</c:choose>
<c:choose>
<c:when test='${requestScope.activeState == "about"}'>
<li><a href="about.jsp" class="active"><span>About Us</span></a></li>
</c:when>
<c:otherwise>
<li><a href="about.jsp"><span>About Us</span></a></li>
</c:otherwise>
</c:choose>
<c:choose>
<c:when test='${requestScope.activeState == "contact"}'>
<li><a href="contact.jsp" class="active"><span>Contact Us</span></a></li>
</c:when>
<c:otherwise>
<li><a href="contact.jsp"><span>Contact Us</span></a></li>
</c:otherwise>
</c:choose>
</ul>
Это то, что вызывает файл index.jsp:
<jsp:include page="header.jsp">
<jsp:param value="home" name="activeState"/>
</jsp:include>
Это не работает. Шесть ссылок показаны на странице index.html. Три с css и три без css. Вот что источник похож на страницу index.html:
<c:choose>
<c:when test='false'>
<li><a href="index.jsp" class="active"><span>Home</span></a></li>
</c:when>
<c:otherwise>
<li><a href="index.jsp"><span>Home</span></a></li>
</c:otherwise>
</c:choose>
<c:choose>
<c:when test='false'>
<li><a href="about.jsp" class="active"><span>About Us</span></a></li>
</c:when>
<c:otherwise>
<li><a href="about.jsp"><span>About Us</span></a></li>
</c:otherwise>
</c:choose>
<c:choose>
<c:when test='false'>
<li><a href="contact.jsp" class="active"><span>Contact Us</span></a></li>
</c:when>
<c:otherwise>
<li><a href="contact.jsp"><span>Contact Us</span></a></li>
</c:otherwise>
</c:choose>
Я также пытался получить параметр ActiveState с помощью param.activeState
вместо requestScope.activeState
. Никаких изменений в поведении. Может кто-нибудь объяснить, что происходит?