1

JSTL を使用して URL の最後の部分を削除できるかどうか疑問に思っていました。私の現在のリンクは

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

/resources を削除したい(/resources は動的で、アクセスしているページに応じて変更されます例 /home または /logical)部分を使用して、現在の URL を取得するために使用したホームページに戻ります。は

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

JSTL を使用するだけでは、この質問に対する答えを実際に見つけることはできないため、javascript や Java は使用しません。それが私の最後の選択肢になります。

誰でもこれで私を助けることができますか?

4

2 に答える 2

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 に答える
1

fn:replace()たぶん、JSTL 関数( tutodoc )を見ることができます。

于 2012-09-03T11:30:59.610 に答える