我正在使用 ibm websphere 并创建一个动态 web 元素。我所有的 JSP
文件都在我的 WEB-INF 文件夹中,我在我的 web.xml
文件中使用 servlet 映射来使它们可访问。到目前为止,这工作得很好。但是我的 CSS 有问题。与往常一样,我的 CSS
文件位于名为 css 的文件夹中的 WebContent
中。这是我的 jsp
<link rel="stylesheet" href = "css/styles.css">
我没有运气让我的 CSS 显示...
我错过了什么?
最佳答案
生成的 HTML 输出中的相对 URL 由浏览器解释为相对于请求 URL(如您在浏览器的地址栏中所见),而不是它们在服务器磁盘文件系统中的物理位置。即必须通过 HTTP 请求下载它们的网络浏览器,而不是必须以某种方式从磁盘包含它们的网络服务器。
其中一种方法是为这些资源使用域相对路径,即以 /
开头。您可以使用 ${pageContext.request.contextPath}
动态内联当前 webapp 的上下文路径。
<link rel="stylesheet" href="${pageContext.request.contextPath}/css/styles.css">
这将在生成的 HTML 输出中结束,如下所示:
<link rel="stylesheet" href="/yourContextPath/css/styles.css">
这样浏览器就能正确下载它们。
另见:
关于html - 如何将我的 css 连接到存储在 WEB-INF 文件夹中的 JSP 文件?网页/JSP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10355292/