如果a有 c:url value =“/ article”/在jsp中,我实际上想要它生成http://mysite.com/context/article.有没有简单的方法来实现这一点? 没有简单的方法.硬编码或输出以下内容: ${fn:replace(pageContext.
${fn:replace(pageContext.request.requestURL, pageContext.request.requestURI, '')}${pageContext.request.contextPath}
虽然很麻烦,但是当您想要正确地考虑URL的协议和端口部分时,没有更短/更好的方法.您最高可以将${pageContext.request}分配给${r}.
<c:set var="r" value="${pageContext.request}" />
所以你最终可以得到这个
${fn:replace(r.requestURL, r.requestURI, '')}${r.contextPath}
也就是说,我只是没有看到这个要求是如何有用/有价值的.我总是将我的webapp特定链接编码为相对于当前上下文或HTML< base>标签.否则,当您的域,端口和/或上下文发生更改时,您将需要进行大量维护.为什么这个要求?
也可以看看:
> Is it recommended to use the HTML <base>
tag?(实际上是敏感话题)