首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何动态获取当前基本URL?

问如何动态获取当前基本URL?
EN

Stack Overflow用户
提问于 2011-12-28 16:22:42
回答 1查看 5.9K关注 0票数 3

我试图在我的网页项目中建立一个链接,在链接文本中显示链接的网址。

例如,如果我正在处理本地主机的示例项目,我希望链接到example.jsp页面,使其看起来像http://localhost:8081/Example/example.jsp

它将链接到/example.jsp页面。

我需要能够动态地做到这一点。

EN

回答 1

Stack Overflow用户

发布于 2011-12-28 16:29:42

您可以使用JSTL获得站点的基本URL,如下所示:

代码语言:javascript
复制
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
<c:set var="req" value="${pageContext.request}" />
<c:set var="url">${req.requestURL}</c:set>
<c:set var="base" value="${fn:substring(url, 0, fn:length(url) - fn:length(req.requestURI))}${req.contextPath}/" />
...

(在上面的示例中,req只是当前实例的简写,<c:set var="url">行基本上将HttpServletRequest#getRequestURL()返回的StringBuffer转换为String,以便可以在字符串函数中使用)

然后,您可以创建如下链接:

代码语言:javascript
复制
<a href="${base}example.jsp">${base}example.jsp</a>

或者,当使用HTML标记(使文档中的所有相对链接相对于<base> )时:

代码语言:javascript
复制
<head>
    <base href="${base}" />
</head>
<body>
    <a href="example.jsp">${base}example.jsp</a>
</body>
票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8658457

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档