当前位置 : 主页 > 编程语言 > java >

如何在jsp中创建绝对URL?

来源:互联网 收集:自由互联 发布时间:2021-06-25
如果a有 c:url value =“/ article”/在jsp中,我实际上想要它生成http://mysite.com/context/article.有没有简单的方法来实现这一点? 没有简单的方法.硬编码或输出以下内容: ${fn:replace(pageContext.
如果a有< c:url value =“/ article”/>在jsp中,我实际上想要它生成http://mysite.com/context/article.有没有简单的方法来实现这一点? 没有简单的方法.硬编码或输出以下内容:

${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?(实际上是敏感话题)

网友评论