对应Web下的html路径经常搞混乱,我觉得需要记住以下几点:
1、./表示源文件所在目录的上一级目录,../../表示源文件所在目录的上上级目录,以
类推。
eg. 假设info.html路径是:c:\Inetpub\wwwroot\sites\blabla\info.html
假设index.html路径是:c:\Inetpub\wwwroot\sites\index.html
在info.html加入index.html超链接的代码应该这样写:
<a href="../index.html">index.html</a>
2、./表示源文件所在的当前目录,通常省略不写
eg. 假设info.html路径是:c:\Inetpub\wwwroot\sites\blabla\info.html
假设index.html路径是:c:\Inetpub\wwwroot\sites\blabla\index.html
在info.html加入index.html超链接的代码应该这样写:
<a href = "./index.html">index.html</a>
eg. 假设info.html路径是:c:\Inetpub\wwwroot\sites\blabla\info.html
假设index.html路径是:c:\Inetpub\wwwroot\sites\index.html
在info.html加入index.html超链接的代码应该这样写:
<a href=".././index.html">index.html</a> 通常./不写,变为:
<a href=".././index.html">index.html</a>
3、在web目录中,这个会随着当前目录变化而变化。
在struts.xml里是相对根目录的,而其结果资源jsp页面的路径也应该是相对于根目录,其相
对位置是根据根目录,而不是根据jsp源文件的相对位置而定。[b][/b]
4、为了解决3所带来的问题,有如下两种方法:
1)在被引入的资源前面加${pageContext.request.contextPath},其实就是当前的根名
字
eg. src="${pageContext.request.contextPath}/js/jquery.js"
2)
<% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <base href="<%=basePath%>">,其实这个也是根目录,如http://localhost:8080/Assets/
这时直接引用就行
eg. src="${pageContext.request.contextPath}/js/jquery.js"
参考:http://baike.baidu.com/view/25307.htm