如何使用JSTL区分JSP中的域

时间:2011-06-22 16:20:40

标签: java jsp url request jstl

我想区分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中有更好的方法吗?

为每个人欢呼

1 个答案:

答案 0 :(得分:2)

尝试将第一行更改为:

<c:set var="url" value="${pageContext.request.requestURI}" />

编辑:我忘了还有一个getServerName()方法,该方法应该为您提供所请求的主机,而不包含其余的URL。这可能是更好的使用方法。

HttpServletRequest上的

getRequestURI()返回一个String,而getRequestURL()返回一个没有contains方法的StringBuffer。

注意:我没有测试过这段代码,所以ymmv。