如何使用jstl删除当前URL的最后一部分

时间:2012-09-03 11:28:01

标签: jsp jstl el

我想知道你是否可以使用JSTL删除网址的最后一部分。 我目前的链接是

http://localhost:8080/program/year/eventid/resources

我想删除/ resources (/资源是动态会根据我正在访问的页面更改示例/ home或/ logistics)部分并再次使用该网址返回主页 我以前获取当前URL的是

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

我只能使用JSTL来找到这个问题的答案,所以没有javascript或JAVA。那将是我的最后一个选择。

有人可以帮我这个吗?

2 个答案:

答案 0 :(得分:1)

也许您可以查看JSTL函数fn:replace()tutodoc)。

答案 1 :(得分:1)

你可以,如果你真的想:

<c:set var="splitUrl" value="${fn:split(pageContext.request.requestURL, '/')}" />
<c:forEach items="${splitUrl}" var="part" varStatus="status">
  <c:if test="${not status.last}">
    <c:set var="trimmedUrl"
           value="${trimmedUrl}${status.first ? '' : '/'}${part}"/>
  </c:if>
</c:forEach>

但更好的方法是创建自定义标记或功能来完成工作。优点:

  • 可重复使用
  • 更易读的JSP