因此您希望從HTTP請求URL中提取信息。在EL中,HttpServletRequest
實例可通過${pageContext.request}
獲得。這個類又可以使用幾種方法,如getContextPath()
,getRequestURI()
甚至getRequestURL()
。
給定一個在http://www.website.com/urlone
上打開的頁面,上下文路徑是否爲根目錄並不完全清楚。如果不是和Web應用程序部署到的/urlone
上下文路徑,那麼你可以使用支票下面:
<c:when test="${pageContext.request.contextPath eq '/urlone'}">
DISPLAY ALTERNATE LOGO
</c:when>
或者如果它是實際部署的根,和/urlone
因此實際上代表的URI(符合servlet或JSP),那麼這樣做:
<c:when test="${pageContext.request.requestURI eq '/urlone'}">
DISPLAY ALTERNATE LOGO
</c:when>
如果資源確實是一個servlet提供服務,那麼getServletPath()
也是一個可能性,如果該URL可以有路徑參數,如/urlone/foo/bar
您想忽略(即,當您將servlet映射到內部網址爲/urlone/*
的URL模式時廣告/urlone
)。
<c:when test="${pageContext.request.servletPath eq '/urlone'}">
DISPLAY ALTERNATE LOGO
</c:when>
或者如果你喜歡檢查完整的URL,這是不是真的易於維護的方案,域和端口是Web應用程序的完全控制外,但很可惜:
<c:when test="${pageContext.request.requestURL eq 'http://www.website.com/urlone'}">
DISPLAY ALTERNATE LOGO
</c:when>