当我从我的 JSP 文件中提供相对路径时,我正在使用 eclipse 图像没有出现。但是当我使用图像的绝对路径时,它只能在 Eclipse 的内部浏览器中工作,但仍然不能在其他浏览器 Firfox、IE 等上工作。
最佳答案
显然相对路径是完全错误的。
你需要意识到 <img src>
应该引用公共(public) URL,而不是网络服务器的本地磁盘文件系统。即需要加载图像的网络浏览器,而不是网络服务器本身。如果这个公共(public) URL 是相对的,那么它是相对于当前请求 URL 解析的,您在浏览器的地址栏中看到的那个。它不是相对于 JSP 在本地磁盘文件系统中的位置解析的。
假设您正在打开此 URL 上的 JSP 页面
并且图片是原始格式,可以通过这个 URL 访问
那么需要在JSP中引用图片如下
<img src="images/some.png" />
但是如果 JSP 是通过这个 URL 打开的
那么需要在JSP中引用图片如下
<img src="../images/some.png" />
为了避免每次都摆弄相对路径,您也可以只使用域相对 URL。您可以通过在图像 URL 前面加上上下文路径来做到这一点:
<img src="${pageContext.request.contextPath}/images/some.png" />
这将在生成的 HTML 中结束,如下所示(在浏览器中右键单击 JSP,查看源代码)
<img src="/contextname/images/some.png" />
另见:
关于jsp - <img> 在 JSP 中不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9134148/