我正在设计一个我正在使用jsp页面的应用程序。现在我需要一些东西来指示哪个是当前正在显示的页面。基本上,我想要一个包含每个页面的菜单,我在当前页面上放置class =“active”。
我该怎么做?有什么建议? 谢谢!
答案 0 :(得分:3)
开球示例:
<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<Menu>
,Menu
为具有属性link
和name
以及${item.link}
的bean返回home.jsp
,contact.jsp
之类的路径名(或者如果您使用的是控制器servlet,home
,contact
等。)
fn:substring()
摆脱了领先的斜杠。 EL中的条件运算符?:
仅在条件为真时打印类,否则不打印。
答案 1 :(得分:0)
您应该获取当前网址
<% String URL = request.getRequestURL(); %>
然后在菜单中,如果当前URL(或者从url检索“当前页面”)与菜单元素(按标题,id ...)匹配,则可以在元素上设置class =“active”想要“活跃”