【问题标题】:How to set class="active" to the active page如何将 class="active" 设置为活动页面
【发布时间】:2010-12-03 13:56:47
【问题描述】:

我正在设计一个使用 jsp 页面的应用程序。现在我需要一些东西来指示正在显示的当前页面。基本上,我想要一个包含每个页面的菜单,我在当前页面上放置 class=”active”。

我该怎么做?有什么建议么? 谢谢!

【问题讨论】:

    标签: java jsp


    【解决方案1】:

    启动示例:

    <c:set var="currentPage" value="${fn:substring(pageContext.request.servletPath, 1, -1)}" />
    <ul>
        <c:forEach items="${bean.menu}" var="item">
            <li><a href="${item.link}"${item.link == currentPage ? ' class="active"' : ''}>${item.name}</li>
        </c:forEach>
    </ul>
    

    这假定${bean.menu}List&lt;Menu&gt;Menu 是具有linkname 属性的bean,${item.link} 返回路径名,如home.jspcontact.jsp(或如果您使用的是控制器 servlet,homecontact 等)。

    fn:substring() 去掉了前导斜线。 EL 中的条件运算符?: 仅在条件为真时打印类,否则不打印。

    【讨论】:

      【解决方案2】:

      你应该得到当前的 URL

      <% String URL = request.getRequestURL(); %>
      

      然后在菜单中,如果当前 URL(或从 url 检索“当前页面”)与您的菜单元素(按标题、ID...)匹配,则可以在元素上设置 class="active"想要“活跃”

      【讨论】:

      猜你喜欢
      相关资源
      最近更新 更多
      热门标签