我想区分JSP内部的requestUrl,并根据URL呈现不同的内容。
要具体:
<c:set var="url" value="${pageContext.request.requestURL}" />
<c:choose>
<c:when test="${fn:contains(url, 'google.com')}">
1 - Google.com
</c:when>
<c:otherwise>
2 - Google.co.uk
</c:otherwise>
</c:choose>
在这种情况下,每次都会呈现选项2。我真的不知道为什么。
我怎样才能以正确的方式做到这一点?或者在JSTL中有更好的方法吗?
为每个人欢呼
答案 0 :(得分:2)
尝试将第一行更改为:
<c:set var="url" value="${pageContext.request.requestURI}" />
编辑:我忘了还有一个getServerName()方法,该方法应该为您提供所请求的主机,而不包含其余的URL。这可能是更好的使用方法。
HttpServletRequest上的getRequestURI()返回一个String,而getRequestURL()返回一个没有contains方法的StringBuffer。
注意:我没有测试过这段代码,所以ymmv。