JSP выбрать заявление - PullRequest
       5

JSP выбрать заявление

0 голосов
/ 21 января 2011

У меня есть header.jsp, который я хочу включить в несколько страниц. На странице заголовка есть три ссылки. Я использую css, чтобы указать пользователю, на какой странице он находится в данный момент. Вот код для header.html:

<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. Никаких изменений в поведении. Может кто-нибудь объяснить, что происходит?

1 Ответ

2 голосов
/ 21 января 2011

Если вы видите, что теги JSTL не разбираются в исходном коде HTML, это означает, что либо тег метки JSTL не был объявлен в верхней части JSP следующим образом

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

, либо JSTL не установленсовсем.Загрузите и установите его в соответствии с инструкциями на нашей JSTL вики-странице .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...