是否存在使用JSTL使用导航链接创建菜单的库或最佳实践方法?
我在每个页面上都有5个链接。我希望指向当前页面的链接被“禁用”。我可以手动执行此操作,但这必须是人们以前解决过的问题。如果有一个处理它的taglib,但我不知道,我不会感到惊讶。
您可以让JSTL / EL根据请求的JSP页面的URL有条件地生成HTML / CSS。您可以${pageContext.request.servletPath}在EL中获得它。假设您Map<String, String>在应用程序范围内的某些位置具有链接:
${pageContext.request.servletPath}
Map<String, String>
<ul id="menu"> <c:forEach items="${menu}" var="item"> <li> <c:choose> <c:when test="${pageContext.request.servletPath == item.value}"> <b>${item.key}</b> </c:when> <c:otherwise> <a href="${item.value}">${item.key}</a> </c:otherwise> </c:choose> </li> </c:forEach> </ul>
或者当您刚开始学习CSS类时
<ul id="menu"> <c:forEach items="${menu}" var="item"> <li><a href="${item.value}" class="${pageContext.request.servletPath == item.value ? 'active' : 'none'}">${item.key}</a></li> </c:forEach> </ul>
您可以<jsp:include>用来重用JSP页面中的内容。将以上内容放入自己的menu.jsp文件中,并包括以下内容:
<jsp:include>
menu.jsp
<jsp:include page="/WEB-INF/menu.jsp" />
该页面放置在WEB-INF文件夹中,以防止直接访问。
WEB-INF