gpt4 book ai didi

jsp - 如何动态获取当前的base URL?

转载 作者:行者123 更新时间:2023-12-03 07:21:52 25 4
gpt4 key购买 nike

我正在尝试在我的网络项目中创建一个链接,该链接在链接文本中显示该链接的 URL。

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

链接到 /example.jsp 的位置页。

我需要能够动态地执行此操作。

最佳答案

您可以使用JSTL如下获取网站的基本URL:

<%@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 只是 HttpServletRequest 当前实例的简写, <c:set var="url"> 行基本上将 StringBuffer 返回的 HttpServletRequest#getRequestURL() 转换为 String ,这样它可以在字符串函数中使用)

然后您可以按如下方式创建链接:

<a href="${base}example.jsp">${base}example.jsp</a>

或者也许,当使用 HTML <base> 时标签使文档中的所有相对链接都与其相关:

<head>
<base href="${base}" />
</head>
<body>
<a href="example.jsp">${base}example.jsp</a>
</body>

关于jsp - 如何动态获取当前的base URL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8658457/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com