2 open yu open_yu 于 2017.09.04 14:07 提问

HTML绝对路径访问问题

在jsp中引入js文件可以

 <script type="text/JavaScript" src="${pageContext.request.contextPath }/js/index.js" ></script>

但是HTML页面怎么引入呢?明显的以上方式访问不到,那么怎么配置绝对路径呢

5个回答

Amo_lt
Amo_lt   2017.09.04 14:59
已采纳

貌似不行吧,要写本地绝对路径或者http://你项目:端口/js文件路径(开启服务器才有用)

ty769060769
ty769060769   2017.09.04 14:17

html中不用前面就直接src="js/index.js"。都是默认从当前路径开始寻找js下的index.js。看你当前页面路径是哪里。src="../js.index.js"意思是上一级目录的js下的index.js

open_yu
open_yu 你这属于相对路径访问的,我想使用绝对路径访问,而且以后要是有改动路径时,我只有配置一下${pageContext.request.contextPath }其他的都不用更改了
3 个月之前 回复
Small_Mouse0
Small_Mouse0   Ds   Rxr 2017.09.04 14:34

试试我下面的Demo,,我测试了可行。。。pageContext.request.contextPath获取的只是上下文路径,,

可以说是【localhost:8080/hello/index.jsp】中的hello上下文路径。

 <%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
<%
    String path = request.getContextPath();
    String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort()
            + path + "/";
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<%-- <base href="<%=basePath%>"> --%>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Insert title here</title>
<script type="text/javascript" src="<%=basePath%>/js/index.js"></script>
</head>
<body>
    Hello!!
</body>
</html>

图片说明
路径如上面

有问题还可以追问。。。

Small_Mouse0
Small_Mouse0 回复open_yu: 好吧,,还有这种操作,,,没关系,不用java脚本也可以,,,,可以在后台设置一个session,把【basePath】放进去,,然后前端用那个EL获取也行
3 个月之前 回复
open_yu
open_yu 我想用的是纯HTML页面,不想用有关jsp的东西,你这<%= %> 是和Java相关的,我想的是纯HTML作为前端,而Java作为后台服务
3 个月之前 回复
P923284735
P923284735   2017.09.04 15:38

,
把前面去掉就行了,“/”默认指的就是项目的根路径。

IsStyleBoy
IsStyleBoy   2017.09.04 15:40

写一个config file,这个文件中保存一些静态数据(比如你说的url前缀),在需要的地方进行引用就行了。

当买了域名或者用于不同的环境中时,只需更改config file中的值就行了。

open_yu
open_yu 这个config里面的东西貌似在HTML页面访问不到啊
3 个月之前 回复
Csdn user default icon
上传中...
上传图片
插入图片