我正在尝试在 JSP 中动态加载图像,并且正在尝试执行以下操作:
<img src="<%= book.img %>">
其中 book.img 包含一个字符串(绝对路径)。我该如何解决这个问题?我收到的错误如下:
元素 img 上属性 src 的值错误:PATH 中的 DOUBLE_WHITESPACE。
book.img
应包含服务器上图像的绝对 URL。
因此,如果您的图像存储在:
Webcontent/resources/images/
你有一张图片:
close-button.png
book.img
应该=/resources/images/close-button.png
然后在您的 JSP 中使用 JSTL 创建 URL:
<img src="<c:url value="${book.img}"/>"/>
c:url
将域和上下文作为绝对 url 的前缀。
没有 JSTL 的另一种方法是:
<img src="${pageContext.request.contextPath}${book.img}"/>
我尝试了无数种不同的解决方案,这些解决方案大多在 SO 中找到,这个问题被问了 3 次或 4 次。很多很多答案都告诉您在 HTML 中写什么,但不会费心告诉您这意味着您的图像文件应该驻留在哪里。唯一对我有用的是:
将您的图像文件直接放入您的“WebContent”目录中。那么你的jsp文件中的HTML是:
<img src="${pageContext.request.contextPath}/myImageFileName.png">
通过推断,我会说,如果您将图像文件放入 WebContent/Images 之类的子目录中,那么您只需将该子目录添加到 src 中,您就可以弄清楚如何。但我没有测试。