1
我檢查當前URL是否以'/'結尾,那麼變量slash
爲空。否則slash
是'/'。JSTL代碼不適用於Apache Tiles
<c:set var="slash" value="/"/>
<c:set var="uri" value="${requestScope['javax.servlet.forward.request_uri']}"/>
<c:if test="${fn:substring(uri, fn:length(uri)-1, fn:length(uri)) == '/'}">
<c:set var="slash" value=""/>
</c:if>
接下來,立足變量slash
和uri
,一些文本附加到當前URL和新的鏈接建設。
<a href="${uri}${slash}${cd.toString()}/">${cd.toString()}</a>
當代碼位於構建新URL的同一頁上時,它正在工作。當我申請Apache的瓷磚,第一代碼放入main.jsp中:
<body>
<c:set var="slash" value="/"/>
<c:set var="uri" value="${requestScope['javax.servlet.forward.request_uri']}"/>
<c:if test="${fn:substring(uri, fn:length(uri)-1, fn:length(uri)) == '/'}">
<c:set var="slash" value=""/>
</c:if>
<div id="headerId">
<tiles:insertAttribute name="header" />
</div>
<div id="bodyId">
<tiles:insertAttribute name="content" />
</div>
</body>
和鏈接是建立content.jsp:
<a href="${uri}${slash}${cd.toString()}/">${cd.toString()}</a>
但content.jsp變量uri
和slash
是空的。