Sno*_*irl 1 html css java path
我有一个Java EE应用程序,在应用程序中我有以下结构.
WEB-INF
layout
header.jsp
styles
main.css
Run Code Online (Sandbox Code Playgroud)
我想包括在main.css在header.jsp.我试图用以下内容(其中......是路径):
<link rel="stylesheet" href="...">
Run Code Online (Sandbox Code Playgroud)
但是,我似乎无法找到正确的道路.我已经尝试过以下各项而没有运气:
../styles/main.css
/styles/main.css
styles/main.css
/WEB-INF/styles/main.css
WEB-INF/styles/main.css
Run Code Online (Sandbox Code Playgroud)
什么是正确的道路?
Bal*_*usC 14
首先,/WEB-INF没有中间(前端控制器)servlet ,文件夹中的资源不能直接公开访问(这也包括JSP文件本身!<jsp:include>在webserver上运行,而不是在webbrowser上运行).所以你要把CSS(和JS和图像)文件放在/WEB-INF文件夹之外.
WebContent
|-- WEB-INF
| `-- layout
| `-- header.jsp
|-- styles
| `-- main.css
:
Run Code Online (Sandbox Code Playgroud)
假设它现在在/styles/main.css,那么您可以按如下方式引用它:
<link rel="stylesheet" type="text/css" href="${pageContext.request.contextPath}/styles/main.css" />
Run Code Online (Sandbox Code Playgroud)
使用${pageContext.request.contextPath}(使用前导斜杠打印当前上下文路径并因此相对于域根保证CSS URL)本身并不是必需的,但它是您最安全的选择,因为当前请求URL未知.在HTML中,所有相对路径<link>,<script>,<img>,<a>,等元素是即开即用网页浏览器解析相对于当前请求的网址(如你在浏览器地址栏中看到).只要不清楚您的请求URL是什么,我就无法在不使用的情况下回答正确的CSS路径${pageContext.request.contextPath}.
| 归档时间: |
|
| 查看次数: |
6058 次 |
| 最近记录: |