1

我想知道您是否可以使用 JSTL 删除 URL 的最后一部分。我当前的链接是

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

我想删除 /resources (/resources 是动态的,会根据我访问的页面而改变,例如 /home 或 /logistics)部分,并再次使用 url 返回到我用来获取当前 URL 的主页是

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

仅使用 JSTL,我无法真正找到这个问题的答案,所以没有 javascript 或 JAVA。那将是我最后的选择。

那么有人可以帮我解决这个问题吗?

4

2 回答 2

1

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

于 2012-09-03T11:30:59.610 回答
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
于 2012-09-09T07:36:08.993 回答