我正在学习JSP,并且遇到一种奇怪的情况,我真的不了解发生了什么。
我需要创建一个简单的菜单,并且正在接收引用活动页面的菜单项的标识符作为参数,即该菜单项应显示为简单文本而不是链接,菜单的代码如下:
<nav class="application-menu">
<ul>
<c:choose>
<c:when test="${param.activePage eq 'home'}">
<li>Home</li>
</c:when>
<c:otherwise>
<li><a href="./">Home</a></li>
</c:otherwise>
</c:choose>
<c:choose>
<c:when test="${param.activePage eq 'search'}">
<li>Search</li>
</c:when>
<c:otherwise>
<li><a href="search.html">Search</a></li>
</c:otherwise>
</c:choose>
...
</ul>
</nav>
在此示例中,我收到search
作为activePage
参数,但是以某种方式接受了两个条件,因此页面上显示的菜单如下所示:
Home <a ...>Home</a> Search <a ...>Search</a>
有人知道什么可能导致此问题吗?
编辑1:
我已经尝试更换
c:otherwise
by c:when test="${param.activePage ne 'home'}"
,
它的工作方式相同。