如何检查我是否在特定网址上?我有一个包含许多链接的菜单,我想禁用当前页面的链接.我怎样才能做到这一点?
Bal*_*usC 17
您可以使用HttpServletRequest#getRequestURI()获取请求URI.在getServletPath()所建议的通过,因为它代表servlet路径(在JSP/Servlet的URL图案匹配的部分)对方的回答是不一定有帮助,而不是请求URI(如终端用户在浏览器的地址栏看到).如果JSP由某个前端控制器servlet转发,您将获得JSP自己的路径,而不是浏览器地址栏中的虚拟路径.
假设您有一个菜单,该菜单由类具有的属性和属性List<Page>的应用程序范围中的a表示,这里是JSTL帮助下的启动示例:Pageurlname
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
...
<ul id="menu">
<c:forEach items="${menu}" var="page">
<c:set var="active" value="${fn:endsWith(pageContext.request.requestURI, page.url)}" />
<li class="${active ? 'active' : 'none'}"><a href="${page.url}">${page.name}</a></li>
</c:forEach>
</ul>
Run Code Online (Sandbox Code Playgroud)
然后,您可以按.active类定义菜单项样式.例如,给它一个黑色,一些突出显示背景等.
ul#menu li {
background: white;
}
ul#menu li.active {
background: pink;
}
Run Code Online (Sandbox Code Playgroud)
要获取页面的当前 URL,您可以使用:
Relative Path: <%= request.getServletPath() %>
Run Code Online (Sandbox Code Playgroud)
您能详细说明如何禁用某些链接吗?
| 归档时间: |
|
| 查看次数: |
13727 次 |
| 最近记录: |