栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何在不包含上下文根名称的情况下使用相对路径?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何在不包含上下文根名称的情况下使用相对路径?

如果您 真正 关心的是webapp上下文的动态性(“
AppName”部分),则只需通过即可动态检索它

HttpServletRequest#getContextPath()

<head>    <link rel="stylesheet" href="${pageContext.request.contextPath}/templates/style/main.css" />    <script src="${pageContext.request.contextPath}/templates/js/main.js"></script>    <script>var base = "${pageContext.request.contextPath}";</script></head><body>    <a href="${pageContext.request.contextPath}/pages/foo.jsp">link</a></body>

如果您想为所有相对链接设置基本路径,从而无需

${pageContext.request.contextPath}
每个
相对链接中重复,请使用
<base>
标记。这是一个使用JSTL函数帮助的示例。

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %><%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>...<head>    <c:set var="url">${pageContext.request.requestURL}</c:set>    <base href="${fn:substring(url, 0, fn:length(url) - fn:length(pageContext.request.requestURI))}${pageContext.request.contextPath}/" />    <link rel="stylesheet" href="templates/style/main.css" />    <script src="templates/js/main.js"></script>    <script>var base = document.getElementsByTagName("base")[0].href;</script></head><body>    <a href="pages/foo.jsp">link</a></body>

这样,每个相对链接(即

/
或方案开头)都将相对于
<base>

这与Tomcat没有任何关系。它只是与HTTP / HTML基础相关。您将在每个其他Web服务器中遇到相同的问题。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/466467.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号